<?xml version="1.0"?>
<doc>
    <assembly>
        <name>Icarus.Renderer</name>
    </assembly>
    <members>
        <member name="T:Icarus.Renderer.Animation.D3DAnimationFactory">
            <summary>
            Allows rendering in D3D.
            </summary>
        </member>
        <member name="T:Icarus.Renderer.Animation.D3DFrame">
            <summary>
            This is a single animation frame that is stored in such a format as
            to allow easy rendering with DirectX. If the bitmap passed in is larger than the maximum allowed texture size, the frame will be composited out of multiple pieces.
            </summary>
        </member>
        <member name="F:Icarus.Renderer.Animation.D3DFrame.m_Textures">
            <summary>
            The textures that make up this frame.
            </summary>
        </member>
        <member name="M:Icarus.Renderer.Animation.D3DFrame.initializeFromBitmap(System.Drawing.Bitmap)">
            <summary>
            Creates a texture from the frame. 
            </summary>
        </member>
        <member name="M:Icarus.Renderer.Animation.D3DFrame.getFrameImage">
            <summary>
            Returns null, because we shouldn't be saving D3D frames to files. 
            </summary>
            <returns></returns>
        </member>
        <member name="M:Icarus.Renderer.Animation.D3DFrame.Render(System.Drawing.Rectangle,Icarus.Graphics.Animation.IRenderParameters)">
            <summary>
            Renders this frame into a sprite.
            </summary>
        </member>
        <member name="T:Icarus.Renderer.Animation.D3DRenderParameters">
            <summary>
            The render parameters for drawing in Direct3D.
            </summary>
        </member>
        <member name="F:Icarus.Renderer.Animation.D3DRenderParameters.m_TargetSprite">
            <summary>
            The sprite to which we would like to render stuff.
            </summary>
        </member>
        <member name="M:Icarus.Renderer.Animation.D3DRenderParameters.#ctor(Microsoft.DirectX.Direct3D.Sprite)">
            <summary>
            Initializes the rendering parameters.
            </summary>
        </member>
        <member name="P:Icarus.Renderer.Animation.D3DRenderParameters.TargetSprite">
            <summary>
            Gets the sprite that we would like to render stuff to.
            </summary>
        </member>
        <member name="T:Icarus.Renderer.Animation.D3DText">
            <summary>
            Text implementation for directx.
            </summary>
        </member>
        <member name="F:Icarus.Renderer.Animation.D3DText.mFont">
            <summary>
            The directx font corresponding to the system font we are using.
            </summary>
        </member>
        <member name="T:Icarus.Renderer.Animation.DDFrame">
            <summary>
            This is a frame that utilizes DirectDraw for rendering stuff.
            </summary>
        </member>
        <member name="M:Icarus.Renderer.Animation.DDFrame.initializeFromBitmap(System.Drawing.Bitmap)">
            <summary>
            Initialize the frame from a Bitmap
            </summary>
            <param name="image">The image to load</param>
            <returns>true</returns>
        </member>
        <member name="M:Icarus.Renderer.Animation.DDFrame.getFrameImage">
            <summary>
            Return the Frame Image as a Bitmap
            </summary>
            <returns>The Frame Image</returns>
        </member>
        <member name="M:Icarus.Renderer.Animation.DDFrame.Render(System.Drawing.Rectangle,Icarus.Graphics.Animation.IRenderParameters)">
            <summary>
            Renders this frame into a sprite.
            </summary>
        </member>
        <member name="T:Icarus.Renderer.Animation.DDRenderParameters">
            <summary>
            Render parameters for drawing onto a direct draw surface.
            </summary>
        </member>
        <member name="F:Icarus.Renderer.Animation.DDRenderParameters.m_Surface">
            <summary>
            The surface onto which we will be rendering stuff.
            </summary>
        </member>
        <member name="M:Icarus.Renderer.Animation.DDRenderParameters.#ctor(Microsoft.DirectX.Direct3D.Surface)">
            <summary>
            Initializes the render parameters.
            </summary>
            <param name="s">The target surface.</param>
        </member>
        <member name="P:Icarus.Renderer.Animation.DDRenderParameters.TargetSurface">
            <summary>
            Returns the surface onto which we want to draw stuff.
            </summary>
        </member>
        <member name="T:Icarus.Renderer.RenderFunction">
            <summary>
            This is the delegate that can be used to render something.
            </summary>
        </member>
        <member name="T:Icarus.Renderer.D3DGameWindow">
            <summary>
            This is a DirectX implementation of the game window.
            </summary>
        </member>
        <member name="T:Icarus.Renderer.GameWindow">
            <summary>
            This is an abstract game window, which can be extended either to use DirectX or GDI for rendering the content.
            </summary>
        </member>
        <member name="F:Icarus.Renderer.GameWindow.m_WindowSize">
            <summary>
            The size of the window.
            </summary>
        </member>
        <member name="F:Icarus.Renderer.GameWindow.m_Windowed">
            <summary>
            Whether we are operating in fullscreen or windowed mode.
            </summary>
        </member>
        <member name="F:Icarus.Renderer.GameWindow.m_CapFrameRate">
            <summary>
            Whether or not we would like to cap the frame rate.
            </summary>
        </member>
        <member name="F:Icarus.Renderer.GameWindow.m_FramesPerSecond">
            <summary>
            How many frames per second should we render if we are capping the frame rate?
            </summary>
        </member>
        <member name="F:Icarus.Renderer.GameWindow.m_FrameDelay">
            <summary>
            The delay, in milliseconds, between frames.
            </summary>
        </member>
        <member name="F:Icarus.Renderer.GameWindow.m_TimeToDie">
            <summary>
            This will be set to true when we are trying to kill the window, so that the rendering thread has a chance to quit gracefully.
            </summary>
        </member>
        <member name="F:Icarus.Renderer.GameWindow.m_GraphicsUpdateThread">
            <summary>
            The thread that updates the game graphics.
            </summary>
        </member>
        <member name="M:Icarus.Renderer.GameWindow.#ctor">
            <summary>
            Creates a new window with default parameters.
            </summary>
        </member>
        <member name="M:Icarus.Renderer.GameWindow.#ctor(System.String)">
            <summary>
            Creates a new window with the specified title and other parameters - default.
            </summary>
            <param name="title">The title of the window</param>
        </member>
        <member name="M:Icarus.Renderer.GameWindow.#ctor(System.String,System.Boolean)">
            <summary>
            Creates a new window.
            </summary>
            <param name="title">The title of the window</param>
            <param name="windowed">True if we want to run in windowed mode, and false if we want to run in fullscreen mode</param>
        </member>
        <member name="M:Icarus.Renderer.GameWindow.#ctor(System.String,System.Boolean,System.Drawing.Size)">
            <summary>
            Creates a new window.
            </summary>
            <param name="title">The title of the window</param>
            <param name="windowed">True if we want to run in windowed mode, and false if we want to run in fullscreen mode</param>
            <param name="initialSize">The initial size of the window</param>
        </member>
        <member name="M:Icarus.Renderer.GameWindow.OnClosing(System.ComponentModel.CancelEventArgs)">
            <summary>
            Destroy data in use due to Closing Event
            </summary>
            <param name="e">Arguments from the Event</param>
        </member>
        <member name="M:Icarus.Renderer.GameWindow.OnVisibleChanged(System.EventArgs)">
            <summary>
            Take action due to change in Visibility
            </summary>
            <param name="e">Arguments from the Event</param>
        </member>
        <member name="M:Icarus.Renderer.GameWindow.OnResize(System.EventArgs)">
            <summary>
            Taje action due to Window resize
            </summary>
            <param name="e">Arguments from the Event</param>
        </member>
        <member name="M:Icarus.Renderer.GameWindow.goWindowed">
            <summary>
            Performs whatever functionality needs to be done to go windowed.
            </summary>
        </member>
        <member name="M:Icarus.Renderer.GameWindow.goFullscreen">
            <summary>
            Performs whatever functionality needs to be done to go full-screen.
            </summary>
        </member>
        <member name="M:Icarus.Renderer.GameWindow.RenderFunction">
            <summary>
            This is the function run by the 
            </summary>
        </member>
        <member name="M:Icarus.Renderer.GameWindow.SpecialInitialize">
            <summary>
            This function will be called when all the constructor chains are through, and will finish up the initializations.
            </summary>
        </member>
        <member name="M:Icarus.Renderer.GameWindow.SpecialGoWindowed">
            <summary>
            This function should be overridden in the specific implementation of the window to figure out what special things need to be done when we go windowed.
            </summary>
        </member>
        <member name="M:Icarus.Renderer.GameWindow.SpecialGoFullscreen">
            <summary>
            This function should be overridden in the specific implementation of the window to figure out what special things need to be done when we go full-screen.
            </summary>
        </member>
        <member name="M:Icarus.Renderer.GameWindow.UpdateWindow">
            <summary>
            This function will be called at every frame.
            </summary>
        </member>
        <member name="P:Icarus.Renderer.GameWindow.DefaultWindowSize">
            <summary>
            The default size of the game window.
            </summary>
        </member>
        <member name="P:Icarus.Renderer.GameWindow.WindowTitle">
            <summary>
            Gets or sets the title of the window, which will be used when in windowed mode, and also will be displayed in the task bar when the game is minimized.
            </summary>
        </member>
        <member name="P:Icarus.Renderer.GameWindow.WindowSize">
            <summary>
            Gets or sets the size of the window.
            </summary>
        </member>
        <member name="P:Icarus.Renderer.GameWindow.Windowed">
            <summary>
            Gets or sets the windowed mode operation.
            </summary>
        </member>
        <member name="P:Icarus.Renderer.GameWindow.CapFrameRate">
            <summary>
            Gets or sets whether or not we would like to cap the frame rate.
            </summary>
            <remarks>
            If this is set to false, then we will update the screen as fast as possible. Otherwise, we will update the screen at most as fast as the FrameRate property says. The value is true by default.
            </remarks>
        </member>
        <member name="P:Icarus.Renderer.GameWindow.FrameRate">
            <summary>
            Gets or sets how many frames per second we should strive to render.
            </summary>
        </member>
        <member name="M:Icarus.Renderer.D3DGameWindow.#ctor">
            <summary>
            Creates a new window with default parameters.
            </summary>
        </member>
        <member name="M:Icarus.Renderer.D3DGameWindow.#ctor(System.String)">
            <summary>
            Creates a new window with the specified title and other parameters - default.
            </summary>
            <param name="title">The title of the window</param>
        </member>
        <member name="M:Icarus.Renderer.D3DGameWindow.#ctor(System.String,System.Boolean)">
            <summary>
            Creates a new window.
            </summary>
            <param name="title">The title of the window</param>
            <param name="windowed">True if we want to run in windowed mode, and false if we want to run in fullscreen mode</param>
        </member>
        <member name="M:Icarus.Renderer.D3DGameWindow.#ctor(System.String,System.Boolean,System.Drawing.Size)">
            <summary>
            Creates a new window.
            </summary>
            <param name="title">The title of the window</param>
            <param name="windowed">True if we want to run in windowed mode, and false if we want to run in fullscreen mode</param>
            <param name="initialSize">The initial size of the window</param>
        </member>
        <member name="M:Icarus.Renderer.D3DGameWindow.CancelResize(System.Object,System.ComponentModel.CancelEventArgs)">
            <summary>
            CancelResize - This is an event handler used to turn off the automatic
            resize handling that Managed D3D does behind the scenes
            </summary>
            <param name="sender">not used</param>
            <param name="e">not used</param>
        </member>
        <member name="M:Icarus.Renderer.D3DGameWindow.OnDeviceLost(System.Object,System.EventArgs)">
            <summary>
            OnDeviceLost - The device has been lost.  Some resources will need
              to be freed to allow the device to be Reset.
            </summary>
            <param name="sender">not used</param>
            <param name="e">not used</param>
        </member>
        <member name="M:Icarus.Renderer.D3DGameWindow.OnDeviceReset(System.Object,System.EventArgs)">
            <summary>
            OnDeviceReset - The device has been successfully Reset.
              Settings lost by the Reset should be set here and any resources
              that were freed in OnDeviceLost should be reallocated.
            </summary>
            <param name="sender">not used</param>
            <param name="e">not used</param>
        </member>
        <member name="M:Icarus.Renderer.D3DGameWindow.SpecialInitialize">
            <summary>
            This function will be called when all the constructor chains are through, and will finish up the initializations.
            </summary>
        </member>
        <member name="M:Icarus.Renderer.D3DGameWindow.SpecialGoWindowed">
            <summary>
            This function should be overridden in the specific implementation of the window to figure out what special things need to be done when we go windowed.
            </summary>
        </member>
        <member name="M:Icarus.Renderer.D3DGameWindow.SpecialGoFullscreen">
            <summary>
            This function should be overridden in the specific implementation of the window to figure out what special things need to be done when we go full-screen.
            </summary>
        </member>
        <member name="M:Icarus.Renderer.D3DGameWindow.UpdateWindow">
            <summary>
            This function will be called at every frame.
            </summary>
        </member>
        <member name="F:Icarus.Renderer.D3DGameWindow.mRenderer">
            <summary>
            The function used to render stuff.
            </summary>
        </member>
        <member name="M:Icarus.Renderer.D3DGameWindow.Render">
            <summary>
            Render the scene to screen
            </summary>
        </member>
        <member name="P:Icarus.Renderer.D3DGameWindow.RenderCallback">
            <summary>
            The function to render stuff.
            </summary>
        </member>
        <member name="T:Icarus.Renderer.Direct3DSettings">
            <summary>
            Summary description for Direct3DSettings.
            </summary>
        </member>
        <member name="F:Icarus.Renderer.Direct3DSettings.mg_Instance">
            <summary>
            Singleton Implementation.
            </summary>
        </member>
        <member name="M:Icarus.Renderer.Direct3DSettings.#ctor">
            <summary>
            Singleton Implementation.
            </summary>
        </member>
        <member name="F:Icarus.Renderer.Direct3DSettings.mRenderCollisionBoxes">
            <summary>
            Should we render collision boxes.
            </summary>
        </member>
        <member name="F:Icarus.Renderer.Direct3DSettings.m_RenderingDevice">
            <summary>
            This is the virtual device through which we will be doing the rendering.
            </summary>
        </member>
        <member name="F:Icarus.Renderer.Direct3DSettings.m_WindowedMode">
            <summary>
            Whether we are operating in fullscreen or windowed mode.
            </summary>
        </member>
        <member name="F:Icarus.Renderer.Direct3DSettings.m_AnimationDelay">
            <summary>
            How many frames do we skip between animation frames. 1 means at every graphics updated, we go to the next animation frame.
            </summary>
        </member>
        <member name="F:Icarus.Renderer.Direct3DSettings.mScrollMargin">
            <summary>
            The scroll margin. See field description for more.
            </summary>
        </member>
        <member name="F:Icarus.Renderer.Direct3DSettings.mParentWindow">
            <summary>
            This is the control that we will be rendering to.
            </summary>
        </member>
        <member name="M:Icarus.Renderer.Direct3DSettings.ResetDevice">
            <summary>
            Resets the device.
            </summary>
        </member>
        <member name="M:Icarus.Renderer.Direct3DSettings.UpdateWindowedMode(System.Boolean)">
            <summary>
            Updates the windowed mode.
            </summary>
            <param name="v">The new value of the windowed mode.</param>
        </member>
        <member name="F:Icarus.Renderer.Direct3DSettings.m_PresentationParameters">
            <summary>
            The presentation parameters for the rendering device.
            </summary>
        </member>
        <member name="M:Icarus.Renderer.Direct3DSettings.InitializePresentationParameters">
            <summary>
            Initializes the presentation parameters.
            </summary>
        </member>
        <member name="M:Icarus.Renderer.Direct3DSettings.InitializeFor(Icarus.Renderer.D3DGameWindow)">
            <summary>
            Initializes a rendering device to display contents in the control passed in.
            </summary>
            <param name="renderWindow">
            This is the control where the stuff rendered to the device will be redirected.
            </param>
        </member>
        <member name="P:Icarus.Renderer.Direct3DSettings.Instance">
            <summary>
            Singleton Implementation.
            </summary>
        </member>
        <member name="P:Icarus.Renderer.Direct3DSettings.RenderCollisionBoxes">
            <summary>
            Gets or sets whether we should render collision boxes.
            </summary>
        </member>
        <member name="P:Icarus.Renderer.Direct3DSettings.RenderingDevice">
            <summary>
            Gets the device through which we will be doing the rendering.
            </summary>
        </member>
        <member name="P:Icarus.Renderer.Direct3DSettings.TextureUsage">
            <summary>
            Returns the intended usage of textures when rendering.
            </summary>
            <remarks>
            Ok, this bit is kinda funky. DirectX documentation says that when we create a texture, it's Usage parameter should match the corresponding device's CreateFlags. So when we get around to actually creating devices, it'll probably be a good idea to fill this function in.
            </remarks>
        </member>
        <member name="P:Icarus.Renderer.Direct3DSettings.WindowedMode">
            <summary>
            Gets or sets whether we are operating in fullscreen or windowed mode.
            </summary>
        </member>
        <member name="P:Icarus.Renderer.Direct3DSettings.AnimationDelay">
            <summary>
            How many frames do we skip between animation frames. 1 means at every graphics updated, we go to the next animation frame.
            </summary>
        </member>
        <member name="P:Icarus.Renderer.Direct3DSettings.ScrollMargin">
            <summary>
            Gets or sets the scroll margin. If the player character comes to within this many pixels of any edge of the screen, the view will be recentered on him.
            </summary>
        </member>
        <member name="P:Icarus.Renderer.Direct3DSettings.MaximumTextureSize">
            <summary>
            Returns the maximum texture size allowed by the device.
            </summary>
        </member>
        <member name="P:Icarus.Renderer.Direct3DSettings.ParentWindow">
            <summary>
            Gets the control that we are rendering to.
            </summary>
        </member>
        <member name="T:Icarus.Renderer.ViewRenderer">
            <summary>
            This is the class that actually renders stuff.
            </summary>
        </member>
        <member name="M:Icarus.Renderer.ViewRenderer.#ctor">
            <summary>
            Initializes the view renderer.
            </summary>
        </member>
        <member name="M:Icarus.Renderer.ViewRenderer.WorldToScreen(Icarus.Logic.Physics.Point,Icarus.Logic.Stage)">
            <summary>
            Returns the point on the screen corresponding to the point p in the stage s.
            </summary>
            <param name="p"></param>
            <param name="s"></param>
            <returns></returns>
        </member>
        <member name="M:Icarus.Renderer.ViewRenderer.renderAnimation(System.Drawing.Point,Icarus.Graphics.Animation.IRenderParameters,Icarus.Graphics.Animation.FramesetAnimation)">
            <summary>
            Renders the animation.
            </summary>
            <param name="coordinates"></param>
            <param name="parameters"></param>
            <param name="anim"></param>
        </member>
        <member name="M:Icarus.Renderer.ViewRenderer.Render(Icarus.Logic.Level,Icarus.Graphics.Animation.IRenderParameters)">
            <summary>
            Renders a level.
            </summary>
        </member>
    </members>
</doc>
