<?xml version="1.0" encoding="ISO8859-1" ?>
  <Root>
    <Classes>
      <Class>
        TImage
        <Description>
          The TImage class is used to load images from the disk into the SDL engine. The images loaded can be of types PNG (reccommended), BMP, TGA, or TIFF. They must be in the power of 2 size (ex: 128x128, 96x64, 32x32, etc...).
        </Description>
        <Methods>
          <function>
            LoadFromFile(FileName)
            <Description>
              Use LoadFromFile to load an existing image from the system. Images must be in a power of two size. Can load; PNG (Reccommended), BMP, TGA and TIFF.
            </Description>
          </function>
          <function>
            Draw(X, Y[, PatternIndex])
            <Description>
              Draw displays the image or image pattern at position x, y on the screen.
            </Description>
          </function>
          <function>
            DrawTiled(X, Y, NumRepeatX, NumRepeatY[, PatternIndex])
            <Description>
              Draw displays the image or image pattern at position x, y NumRepeatX times wide and NumRepeatY times high.
            </Description>
          </function>
          <function>
            CreatePatternRects(PatternWidth, PatternHeight)
            <Description>
              Call CreatePatternRects to automatically generate pattern rectangles for an image. This is useful when you have sprite sheets or other such images that have all of the cells of equal size.
            </Description>
          </function>
          <function>
            PatternHeight(PatternIndex): Height
            <Description>
              Returns the height of the pattern at PatternIndex.
            </Description>
          </function>
          <function>
            PatternWidth(PatternIndex): Width
            <Description>
              Returns the width of the pattern at PatternIndex.
            </Description>
          </function>
          <function>
            PatternRect(PatternIndex): X, Y, Width, Height
            <Description>
              Returns the X, Y, Width, and Height of the pattern at PatternIndex.
            </Description>
          </function>
          <function>
            SetPatternRect(PatternIndex, X, Y, Width, Height)
            <Description>
              Use SetPatternRect to set a pattern rectangle for a given pattern index.
            </Description>
          </function>
        </Methods>
        <Properties>
          <property>
            Name
            <Description>
              File name or unique name for the image, you can pretty much ignore this property.
            </Description>
          </property>
          <property>
            ImageSurface
            <Description>
              This is the raw pointer to the SDL surface for the image. This can be used with the SDL methods that have been wrapped up in the engine.
            </Description>
          </property>
          <property>
            Transparent
            <Description>
              A boolean flag that is used to check if an image is transparent or set the image's transparent value.
            </Description>
          </property>
          <property>
            Width
            <Description>
              Full width of the image.
            </Description>
          </property>
          <property>
            Height
            <Description>
              Full height of the image.
            </Description>
          </property>
          <property>
            PatternCount
            <Description>
              Used to get the number of patterns an image has or to set the number of patterns an image should have. Must be called before SetPatternRect.
            </Description>
          </property>
        </Properties>
        <SampleCode>MyImage = TImage:new()
MyImage:LoadFromFile('Test.png')
function OnRender()
  MyImage:Draw(0, 0)
end</SampleCode>
      </Class>
      <Class>
        TSprite
        <Description>
          TSprite is the base class for all sprites within the main system. It surfaces basic things such as image and pattern handeling. It can be used for static sprites and images that require basic collision.
        </Description>
        <Methods>
          <function>
            Draw(FrameTime)
	    <Description>
	      Draw the current sprite at its X and Y location using its current PatternIndex.
	    </Description>
          </function>
          <function>
            SetBoundsRect(Left, Top, Right, Bottom)
	    <Description>
	      Set the Bounding Collision Rectangle (or Ellipse) for the sprite.
	    </Description>
          </function>
        </Methods>
        <Properties>
          <property>
            Image
	    <Description>
	      The TImage that the sprite should use for rendering.
	    </Description>
          </property>
          <property>
            PatternIndex
	    <Description>
	      PatternIndex of the Image property that should be used when the sprite is drawn.
	    </Description>
          </property>
          <property>
            X
	    <Description>
	      X location of the sprite.
	    </Description>
          </property>
          <property>
            Y
	    <Description>
	      Y location of the sprite.
	    </Description>
          </property>
          <property>
            ZIndex
	    <Description>
	      ZIndex is the sorting index for the sprite, the higher the number the later that it is rendered (meaning the more on top it is).  Its also used for collision detection, sprites on different ZIndexes do not get collision tested against one another.
	    </Description>
          </property>
	<property>
            OnCollide
	    <Description>
	      This property sets up the sprites collision handler event.  Set this property to a function name to have that function called when the sprite collides with another sprite.
	    </Description>
	</property>
        </Properties>
      </Class>
      <Class>
        TAnimatedSprite
        <Description>
          TAnimatedSprite surfaces a sprite with built in animation handeling. Take a look through the demos for a better idea of how to use this class.
        </Description>
        <Methods>
          <function>
            Draw(FrameTime)
          </function>
          <function>
            Reset()
          </function>
          <function>
            SetBoundsRect(Left, Top, Right, Bottom)
          </function>
        </Methods>
        <Properties>
          <property>
            Image
          </property>
          <property>
            PatternIndex
          </property>
          <property>
            X
          </property>
          <property>
            Y
          </property>
          <property>
            ZIndex
          </property>
          <property>
            OnCollide
          </property>
          <property>
            AnimSpeed
          </property>
          <property>
            AnimStart
          </property>
          <property>
            AnimEnd
          </property>
          <property>
            AnimIndex
          </property>
          <property>
            AnimReverse
          </property>
          <property>
            OnAnimEnd
          </property>
        </Properties>
      </Class>
      <Class>
        TTiledBackground
        <Description>
          TTiledBackground surfaces the standard rectuangular tiled map class. Take a look at the SimpleSpriteDemo for a sample of how to use this component, you may also look at Tank Brigade for more information.
        </Description>
        <Methods>
          <function>
            Draw(FrameTime)
          </function>
          <function>
            SetSize(TilesWide, TilesHigh)
          </function>
          <function>
            TileImage( X, Y )
          </function>
        </Methods>
        <Properties>
          <property>
            Image
          </property>
          <property>
            PatternIndex
          </property>
          <property>
            X
          </property>
          <property>
            Y
          </property>
          <property>
            ZIndex
          </property>
          <property>
            OnCollide
          </property>
          <property>
            TileWidth
          </property>
          <property>
            TileHeight
          </property>
          <property>
            TilesWide
          </property>
          <property>
            TilesHigh
          </property>
          <property>
            Width
          </property>
          <property>
            Height
          </property>
        </Properties>
      </Class>
      <Class>
        TTileImage
        <Description>
          TTileImage is a sub component of TTiledBackground, use it only as a reference, as creating one may cause the system to fail.
        </Description>
        <Methods/>
        <Properties>
          <property>
            PatternIndex
          </property>
          <property>
            Image
          </property>
        </Properties>
      </Class>
      <Class>
        TSound
        <Description>
          TSound is the base class for non-background music sounds. Use it to load WAV and OGG files for replaying at a later time.
        </Description>
        <Methods>
          <function>
            LoadFromFile(FileName)
          </function>
          <function>
            Play()
          </function>
          <function>
            PlayNewChannel(NewChannelNumber)
          </function>
          <function>
            Stop()
          </function>
        </Methods>
        <Properties>
          <property>
            Name
          </property>
          <property>
            Volume
          </property>
          <property>
            Channel
          </property>
          <property>
            Playing
          </property>
        </Properties>
      </Class>
      <Class>
        TSoundEngine
        <Description>
          The sound engine is used to manage all sound objects, you should seldom need to actually work with the sound engine.
        </Description>
        <Methods>
          <function>
            AddSoundFile(FileName)
          </function>
          <function>
            AddSound(ExistingSound)
          </function>
          <function>
            Delete(ItemIndex)
          </function>
          <function>
            Remove(ExistingSound)
          </function>
          <function>
            Next()
          </function>
          <function>
            Previous()
          </function>
          <function>
            First()
          </function>
          <function>
            Last()
          </function>
          <function>
            Reset()
          </function>
          <function>
            Play()
          </function>
          <function>
            Stop()
          </function>
          <function>
            Sound(Index)
          </function>
        </Methods>
        <Properties>
          <property>
            Count
          </property>
          <property>
            Playing
          </property>
          <property>
            IsPlaying
          </property>
          <property>
            Channel
          </property>
        </Properties>
      </Class>
      <Class>
        TTTFFont
        <Description>
          TTTFFont Surfaces a way to interact with standard Windows True Type Fonts within the game engine. It should be noted that the ttf file you are trying to load must be placed in your games path. ImageFonts tend to have a better render quality then true type fonts.
        </Description>
        <constructor>
          new(FontFile, FontSize)
        </constructor>
        <Methods>
          <function>
            TextOut(X, Y, WhatText)
          </function>
        </Methods>
        <Properties>
          <property>
            FontColor
          </property>
          <property>
            Height
          </property>
        </Properties>
      </Class>
      <Class>
        TImageFont
        <Description>
          TImageFont surfaces a way to interact with &quot;Bitmap&quot; fonts, these are image that contain all characters that the font represents. Take a look at just about any demo to see an example of this being used. ImageFonts tend to have a better render quality then true type fonts.
        </Description>
        <Methods>
          <function>
            TextOut(X, Y, WhatText)
          </function>
          <function>
            CharPattern(Character)
          </function>
          <function>
            SetCharPattern(Char, Pattern)
          </function>
          <function>
            CharWidth(Char)
          </function>
          <function>
            CharHeight(Char)
          </function>
        </Methods>
        <Properties>
          <property>
            Image
          </property>
        </Properties>
      </Class>
      <Class>
        TGUIElement
        <Description>
          TGUIElement is the base class for all extendable GUI elements. See the GUI demo application to learn more.
        </Description>
        <Events>
          <function>
            BeforeDraw()
          </function>
          <function>
            Draw()
          </function>
          <function>
            AfterDraw()
          </function>
          <function>
            OnMouseDown(MouseX, MouseY, LeftDown, RightDown, MiddleDown)
          </function>
          <function>
            OnMouseUp(MouseX, MouseY, LeftDown, RightDown, MiddleDown)
          </function>
          <function>
            OnClick(MouseX, MouseY, LeftDown, RightDown, MiddleDown)
          </function>
          <function>
            OnMouseWheel(MouseX, MouseY, WheelDelta)
          </function>
          <function>
            OnKeyDown(KeyCode, ShiftState, Unicode)
          </function>
          <function>
            OnKeyUp(KeyCode, ShiftState, Unicode)
          </function>
        </Events>
        <Properties>
          <property>
            X
          </property>
          <property>
            Y
          </property>
          <property>
            Width
          </property>
          <property>
            Height
          </property>
          <property>
            Enabled
          </property>
          <property>
            Visible
          </property>
          <property>
            Focused
          </property>
        </Properties>
      </Class>
    </Classes>
    <Globals>
      <Objects>
        <Object>
          Screen
          <Description>
            The global Screen object can be used to access common variables and actions associated with the SDL surface that JumpStart uses for its rendering context.
          </Description>
          <Properties>
            <property>
              FPS
            </property>
            <property>
              Width
            </property>
            <property>
              Height
            </property>
            <property>
              Surface
            </property>
            <property>
              AppPath
            </property>
          </Properties>
          <Methods>
            <function>
              Clear(Color)
            </function>
            <function>
              Flip()
            </function>
          </Methods>
        </Object>
        <Object>
          SpriteEngine
          <Description>
            SpriteEngine is a global object for the management of all of the game sprites within the system. Most of the time all you will need to do is call SpriteEngine:Draw(FrameTime) within one of your render loops.
          </Description>
          <Properties>
            <property>
              Count
            </property>
            <property>
              RenderCount
            </property>
            <property>
              RenderLevels
            </property>
            <property>
              X
            </property>
            <property>
              Y
            </property>
            <property>
              CollisionEngine
            </property>
          </Properties>
          <Methods>
            <function>
              Draw(FrameTime)
            </function>
            <function>
              Sort(FullIndex)
            </function>
            <function>
              Moved(ASpriteInstance)
            </function>
            <function>
              Add(ASprite)
            </function>
            <function>
              Remove(ASprite)
            </function>
            <function>
              ImageCollide(ImageX, ImageY, Image, PatternIndex, CollisionWithSprite)
            </function>
            <function>
              HitTest(X, Y)
            </function>
            <function>
              Clear()
            </function>
          </Methods>
        </Object>
        <Object>
          Mouse
          <Description>
            Mouse is a global object used to surface common aspects of the system mouse. See the MouseSimpleExample demo for more information.
          </Description>
          <Properties>
            <property>
              X
            </property>
            <property>
              Y
            </property>
            <property>
              LeftButton
            </property>
            <property>
              RightButton
            </property>
            <property>
              MiddleButton
            </property>
          </Properties>
        </Object>
        <Object>
          Music
          <Description>
            Music is the background music handler. Unlike Sounds there can only be one Music handler for an SDL application. Common features such as load, play, next, and previous are surfaced through this object.
          </Description>
          <Properties>
            <property>
              Count
            </property>
            <property>
              Playing
            </property>
            <property>
              Current
            </property>
            <property>
              Volume
            </property>
          </Properties>
          <Methods>
            <function>
              AddMusicFile(FileName)
            </function>
            <function>
              Delete(Index)
            </function>
            <function>
              Next()
            </function>
            <function>
              Previous()
            </function>
            <function>
              First()
            </function>
            <function>
              Last()
            </function>
            <function>
              Play()
            </function>
            <function>
              PlaySong(Index)
            </function>
            <function>
              Stop()
            </function>
          </Methods>
        </Object>
      </Objects>
      <Methods>
        <function>
          SDL_putenv(EnvStatement)
          <Description>
            This method is a wrapper around the standard SDL library method. See the standard SDL documentation around this method and its usage.
          </Description>
        </function>
        <function>
          SDL_getenv(EnvVarName)
          <Description>
            This method is a wrapper around the standard SDL library method. See the standard SDL documentation around this method and its usage.
          </Description>
        </function>
        <function>
          SDL_PutPixel(DstSurface, x, y, pixel)
          <Description>
            This method is a wrapper around the standard SDL library method. See the standard SDL documentation around this method and its usage.
          </Description>
        </function>
        <function>
          SDL_AddPixel(DstSurface, x, y, pixel)
          <Description>
            This method is a wrapper around the standard SDL library method. See the standard SDL documentation around this method and its usage.
          </Description>
        </function>
        <function>
          SDL_SubPixel(DstSurface, x, y, pixel)
          <Description>
            This method is a wrapper around the standard SDL library method. See the standard SDL documentation around this method and its usage.
          </Description>
        </function>
        <function>
          SDL_DrawLine(DstSurface, x, y, x2, y2, Color[, DashLength, DashSpace])
          <Description>
            This method is a wrapper around the standard SDL library method. See the standard SDL documentation around this method and its usage.
          </Description>
        </function>
        <function>
          SDL_AddLine(DstSurface, x1, y1, x2, y2, Color)
          <Description>
            This method is a wrapper around the standard SDL library method. See the standard SDL documentation around this method and its usage.
          </Description>
        </function>
        <function>
          SDL_SubLine(DstSurface, x1, y1, x2, y2, Color)
          <Description>
            This method is a wrapper around the standard SDL library method. See the standard SDL documentation around this method and its usage.
          </Description>
        </function>
        <function>
          SDL_AddSurface(SrcSurface, SrcRect, DestSurface, DestRect)
          <Description>
            This method is a wrapper around the standard SDL library method. See the standard SDL documentation around this method and its usage.
          </Description>
        </function>
        <function>
          SDL_SubSurface(SrcSurface, SrcRect, DestSurface, DestRect)
          <Description>
            This method is a wrapper around the standard SDL library method. See the standard SDL documentation around this method and its usage.
          </Description>
        </function>
        <function>
          SDL_MonoSurface(SrcSurface, SrcRect, DestSurface, DestRect, Color)
          <Description>
            This method is a wrapper around the standard SDL library method. See the standard SDL documentation around this method and its usage.
          </Description>
        </function>
        <function>
          SDL_TexturedSurface(SrcSurface, SrcRect, DestSurface, DestRect, Texture, TextureRect)
          <Description>
            This method is a wrapper around the standard SDL library method. See the standard SDL documentation around this method and its usage.
          </Description>
        </function>
        <function>
          SDL_ZoomSurface(SrcSurface, SrcRect, DstSurface, DstRect)
          <Description>
            This method is a wrapper around the standard SDL library method. See the standard SDL documentation around this method and its usage.
          </Description>
        </function>
        <function>
          SDL_FlipRectH(DstSurface, Rect)
          <Description>
            This method is a wrapper around the standard SDL library method. See the standard SDL documentation around this method and its usage.
          </Description>
        </function>
        <function>
          SDL_FlipRectV(DstSurface, Rect)
          <Description>
            This method is a wrapper around the standard SDL library method. See the standard SDL documentation around this method and its usage.
          </Description>
        </function>
        <function>
          SDL_ScrollY(DstSurface, DifY)
          <Description>
            This method is a wrapper around the standard SDL library method. See the standard SDL documentation around this method and its usage.
          </Description>
        </function>
        <function>
          SDL_ScrollX(DstSurface, DifX)
          <Description>
            This method is a wrapper around the standard SDL library method. See the standard SDL documentation around this method and its usage.
          </Description>
        </function>
        <function>
          SDL_RotateDeg(DstSurface, SrcSurface, SrcRect, DestX, DestY, OffsetX, OffsetY, Angle)
          <Description>
            This method is a wrapper around the standard SDL library method. See the standard SDL documentation around this method and its usage.
          </Description>
        </function>
        <function>
          SDL_RotateRad(DstSurface, SrcSurface, SrcRect, DestX, DestY, OffsetX, OffsetY, Angle)
          <Description>
            This method is a wrapper around the standard SDL library method. See the standard SDL documentation around this method and its usage.
          </Description>
        </function>
        <function>
          SDL_FillRectAdd(DstSurface, dstrect, color)
          <Description>
            This method is a wrapper around the standard SDL library method. See the standard SDL documentation around this method and its usage.
          </Description>
        </function>
        <function>
          SDL_FillRectSub(DstSurface, dstrect, color)
          <Description>
            This method is a wrapper around the standard SDL library method. See the standard SDL documentation around this method and its usage.
          </Description>
        </function>
        <function>
          SDL_GradientFillRect(DstSurface, Rect, StartColor, EndColor, Style)
          <Description>
            This method is a wrapper around the standard SDL library method. See the standard SDL documentation around this method and its usage.
          </Description>
        </function>
        <function>
          SDL_2xBlit(Src, Dest)
          <Description>
            This method is a wrapper around the standard SDL library method. See the standard SDL documentation around this method and its usage.
          </Description>
        </function>
        <function>
          SDL_Scanline2xBlit(Src, Dest)
          <Description>
            This method is a wrapper around the standard SDL library method. See the standard SDL documentation around this method and its usage.
          </Description>
        </function>
        <function>
          SDL_50Scanline2xBlit(Src, Dest)
          <Description>
            This method is a wrapper around the standard SDL library method. See the standard SDL documentation around this method and its usage.
          </Description>
        </function>
        <function>
          SDL_ORSurface(SrcSurface, SrcRect, DestSurface, DestRect)
          <Description>
            This method is a wrapper around the standard SDL library method. See the standard SDL documentation around this method and its usage.
          </Description>
        </function>
        <function>
          SDL_ANDSurface(SrcSurface, SrcRect, DestSurface, DestRect)
          <Description>
            This method is a wrapper around the standard SDL library method. See the standard SDL documentation around this method and its usage.
          </Description>
        </function>
        <function>
          SDL_GTSurface(SrcSurface, SrcRect, DestSurface, DestRect)
          <Description>
            This method is a wrapper around the standard SDL library method. See the standard SDL documentation around this method and its usage.
          </Description>
        </function>
        <function>
          SDL_LTSurface(SrcSurface, SrcRect, DestSurface, DestRect)
          <Description>
            This method is a wrapper around the standard SDL library method. See the standard SDL documentation around this method and its usage.
          </Description>
        </function>
        <function>
          SDL_PixelTest(SrcSurface1, SrcRect1, SrcSurface2, SrcRect2, Left1, Top1, Left2, Top2)
          <Description>
            This method is a wrapper around the standard SDL library method. See the standard SDL documentation around this method and its usage.
          </Description>
        </function>
        <function>
          SDL_GetPixel(SrcSurface, x, y)
          <Description>
            This method is a wrapper around the standard SDL library method. See the standard SDL documentation around this method and its usage.
          </Description>
        </function>
        <function>
          PSDLRect(aLeft, aTop, aWidth, aHeight)
          <Description>
            This method is a wrapper around the standard SDL library method. See the standard SDL documentation around this method and its usage.
          </Description>
        </function>
        <function>
          SDLRect(aLeft, aTop, aWidth, aHeight)
          <Description>
            This method is a wrapper around the standard SDL library method. See the standard SDL documentation around this method and its usage.
          </Description>
        </function>
        <function>
          SDL_ScaleSurfaceRect(SrcSurface, SrcX1, SrcY1, SrcW, SrcH, Width, Height)
          <Description>
            This method is a wrapper around the standard SDL library method. See the standard SDL documentation around this method and its usage.
          </Description>
        </function>
        <function>
          ValidateSurfaceRect(DstSurface, dstrect)
          <Description>
            This method is a wrapper around the standard SDL library method. See the standard SDL documentation around this method and its usage.
          </Description>
        </function>
        <function>
          SDL_PixelTestSurfaceVsRect(SrcSurface1, SrcRect1, SrcRect2, Left1, Top1, Left2, Top2)
          <Description>
            This method is a wrapper around the standard SDL library method. See the standard SDL documentation around this method and its usage.
          </Description>
        </function>
        <function>
          SDL_ClipLine(x1, y1, x2, y2, ClipRect)
          <Description>
            This method is a wrapper around the standard SDL library method. See the standard SDL documentation around this method and its usage.
          </Description>
        </function>
        <function>
          GetMouseState():X, Y, State
          <Description>
            This method is a wrapper around the standard SDL library method. See the standard SDL documentation around this method and its usage.
          </Description>
        </function>
        <function>
          IsBitSet(Source, BitMask):Boolean
          <Description>
            Use IsBitSet to tell if a bitmask is set within a source number.
          </Description>
        </function>
        <function>
          JoystickUpdate()
          <Description>
            This method is a wrapper around the standard SDL library method. See the standard SDL documentation around this method and its usage.
          </Description>
        </function>
        <function>
          JoystickClose(Joystick)
          <Description>
            This method is a wrapper around the standard SDL library method. See the standard SDL documentation around this method and its usage.
          </Description>
        </function>
        <function>
          NumJoysticks()
          <Description>
            This method is a wrapper around the standard SDL library method. See the standard SDL documentation around this method and its usage.
          </Description>
        </function>
        <function>
          JoystickName(Index)
          <Description>
            This method is a wrapper around the standard SDL library method. See the standard SDL documentation around this method and its usage.
          </Description>
        </function>
        <function>
          JoystickOpen(Index)
          <Description>
            This method is a wrapper around the standard SDL library method. See the standard SDL documentation around this method and its usage.
          </Description>
        </function>
        <function>
          JoystickOpened(Index)
          <Description>
            This method is a wrapper around the standard SDL library method. See the standard SDL documentation around this method and its usage.
          </Description>
        </function>
        <function>
          JoystickIndex(Joystick)
          <Description>
            This method is a wrapper around the standard SDL library method. See the standard SDL documentation around this method and its usage.
          </Description>
        </function>
        <function>
          JoystickNumAxes(Joystick)
          <Description>
            This method is a wrapper around the standard SDL library method. See the standard SDL documentation around this method and its usage.
          </Description>
        </function>
        <function>
          JoystickNumBalls(Joystick)
          <Description>
            This method is a wrapper around the standard SDL library method. See the standard SDL documentation around this method and its usage.
          </Description>
        </function>
        <function>
          JoystickNumHats(Joystick)
          <Description>
            This method is a wrapper around the standard SDL library method. See the standard SDL documentation around this method and its usage.
          </Description>
        </function>
        <function>
          JoystickNumButtons(Joystick)
          <Description>
            This method is a wrapper around the standard SDL library method. See the standard SDL documentation around this method and its usage.
          </Description>
        </function>
        <function>
          JoystickEventState(state)
          <Description>
            This method is a wrapper around the standard SDL library method. See the standard SDL documentation around this method and its usage.
          </Description>
        </function>
        <function>
          JoystickGetAxis(joystick, axis)
          <Description>
            This method is a wrapper around the standard SDL library method. See the standard SDL documentation around this method and its usage.
          </Description>
        </function>
        <function>
          JoystickGetHat(joystick, hat)
          <Description>
            This method is a wrapper around the standard SDL library method. See the standard SDL documentation around this method and its usage.
          </Description>
        </function>
        <function>
          JoystickGetBall(joystick, ball, dx, dy)
          <Description>
            This method is a wrapper around the standard SDL library method. See the standard SDL documentation around this method and its usage.
          </Description>
        </function>
        <function>
          JoystickGetButton(joystick, Button)
          <Description>
            This method is a wrapper around the standard SDL library method. See the standard SDL documentation around this method and its usage.
          </Description>
        </function>
        <function>
          SetCaption(NewCaption)
          <Description>
            Sets the caption of the current game window.
          </Description>
        </function>
        <function>
          IsKeyDown(KeyCode):Boolean
          <Description>
            Tests to see if a key is down (See KEY_ in the global/values).
          </Description>
        </function>
        <function>
          LogError(ErrorMessage[, Location])
          <Description>
            This method is a wrapper around the standard SDL library method. See the standard SDL documentation around this method and its usage.
          </Description>
        </function>
        <function>
          LogWarning(WarningMessage[, Location])
          <Description>
            This method is a wrapper around the standard SDL library method. See the standard SDL documentation around this method and its usage.
          </Description>
        </function>
        <function>
          LogStatus(StatusMessage[, Location])
          <Description>
            This method is a wrapper around the standard SDL library method. See the standard SDL documentation around this method and its usage.
          </Description>
        </function>
        <function>
          Close()
          <Description>
            Closes the currently running game instance.
          </Description>
        </function>
        <function>
          CreateThreadedProcess(ThreadTable, ThreadMethod[, ThreadName])
          <Description>
            This method is extremely unstable and should not be used.
          </Description>
        </function>
        <function>
          SetVideoMode(Width, Height, BitsPerPixel, [FullScreen = false])
          <Description>
            Use SetVideoMode to setup the render window options.
          </Description>
        </function>
        <function>
          HexToInt(HexString)
          <Description>
            Use HexToInt to take a hex string and convert it to a number.
          </Description>
        </function>
        <function>
          GetTickCount()
          <Description>
            Returns the current system time in milliseconds, good for timing across all platforms.
          </Description>
        </function>
        <function>
          RenderGUI()
          <Description>
            Call this method to have all enabled TGUIElement's rendered to the game screen.
          </Description>
        </function>
        <function>
          Handler(AnEventName[, NewHandler]):AnEventHandler
          <Description>
            Handler is a dual purpose method. You can use it to set an event handler (Handler('OnClick', 'MyClickHandler')) or get back the current event handler (WhatHandler = Handler('OnClick')).
          </Description>
        </function>
        <function>
          char(CharacterCode, ...):Character, ...
          <Description>
            Converts a character code (numeric) or series of character codes to their corrisponding characters (ASCII).
          </Description>
        </function>
        <function>
          ord(Character, ...):CharacterCode, ...
          <Description>
            Converts a character (ASCII) or series of characters to their respective character codes (numerical).
          </Description>
        </function>
      </Methods>
      <Values>
        <value>
          SoundAvailable
          <Description>
            Used to tell if SDL could initialize a sound engine when it started up.
          </Description>
        </value>
        <value>
          KEY_UNKNOWN
        </value>
        <value>
          KEY_FIRST
        </value>
        <value>
          KEY_BACKSPACE
        </value>
        <value>
          KEY_TAB
        </value>
        <value>
          KEY_CLEAR
        </value>
        <value>
          KEY_RETURN
        </value>
        <value>
          KEY_ENTER
        </value>
        <value>
          KEY_PAUSE
        </value>
        <value>
          KEY_ESCAPE
        </value>
        <value>
          KEY_SPACE
        </value>
        <value>
          KEY_EXCLAIM
        </value>
        <value>
          KEY_QUOTEDBL
        </value>
        <value>
          KEY_HASH
        </value>
        <value>
          KEY_DOLLAR
        </value>
        <value>
          KEY_AMPERSAND
        </value>
        <value>
          KEY_QUOTE
        </value>
        <value>
          KEY_LEFTPAREN
        </value>
        <value>
          KEY_RIGHTPAREN
        </value>
        <value>
          KEY_ASTERISK
        </value>
        <value>
          KEY_PLUS
        </value>
        <value>
          KEY_COMMA
        </value>
        <value>
          KEY_MINUS
        </value>
        <value>
          KEY_PERIOD
        </value>
        <value>
          KEY_SLASH
        </value>
        <value>
          KEY_0
        </value>
        <value>
          KEY_1
        </value>
        <value>
          KEY_2
        </value>
        <value>
          KEY_3
        </value>
        <value>
          KEY_4
        </value>
        <value>
          KEY_5
        </value>
        <value>
          KEY_6
        </value>
        <value>
          KEY_7
        </value>
        <value>
          KEY_8
        </value>
        <value>
          KEY_9
        </value>
        <value>
          KEY_COLON
        </value>
        <value>
          KEY_SEMICOLON
        </value>
        <value>
          KEY_LESS
        </value>
        <value>
          KEY_EQUALS
        </value>
        <value>
          KEY_GREATER
        </value>
        <value>
          KEY_QUESTION
        </value>
        <value>
          KEY_AT
        </value>
        <value>
          KEY_LEFTBRACKET
        </value>
        <value>
          KEY_BACKSLASH
        </value>
        <value>
          KEY_RIGHTBRACKET
        </value>
        <value>
          KEY_CARET
        </value>
        <value>
          KEY_UNDERSCORE
        </value>
        <value>
          KEY_BACKQUOTE
        </value>
        <value>
          KEY_a
        </value>
        <value>
          KEY_b
        </value>
        <value>
          KEY_c
        </value>
        <value>
          KEY_d
        </value>
        <value>
          KEY_e
        </value>
        <value>
          KEY_f
        </value>
        <value>
          KEY_g
        </value>
        <value>
          KEY_h
        </value>
        <value>
          KEY_i
        </value>
        <value>
          KEY_j
        </value>
        <value>
          KEY_k
        </value>
        <value>
          KEY_l
        </value>
        <value>
          KEY_m
        </value>
        <value>
          KEY_n
        </value>
        <value>
          KEY_o
        </value>
        <value>
          KEY_p
        </value>
        <value>
          KEY_q
        </value>
        <value>
          KEY_r
        </value>
        <value>
          KEY_s
        </value>
        <value>
          KEY_t
        </value>
        <value>
          KEY_u
        </value>
        <value>
          KEY_v
        </value>
        <value>
          KEY_w
        </value>
        <value>
          KEY_x
        </value>
        <value>
          KEY_y
        </value>
        <value>
          KEY_z
        </value>
        <value>
          KEY_DELETE
        </value>
        <value>
          KEY_WORLD_0
        </value>
        <value>
          KEY_WORLD_1
        </value>
        <value>
          KEY_WORLD_2
        </value>
        <value>
          KEY_WORLD_3
        </value>
        <value>
          KEY_WORLD_4
        </value>
        <value>
          KEY_WORLD_5
        </value>
        <value>
          KEY_WORLD_6
        </value>
        <value>
          KEY_WORLD_7
        </value>
        <value>
          KEY_WORLD_8
        </value>
        <value>
          KEY_WORLD_9
        </value>
        <value>
          KEY_WORLD_10
        </value>
        <value>
          KEY_WORLD_11
        </value>
        <value>
          KEY_WORLD_12
        </value>
        <value>
          KEY_WORLD_13
        </value>
        <value>
          KEY_WORLD_14
        </value>
        <value>
          KEY_WORLD_15
        </value>
        <value>
          KEY_WORLD_16
        </value>
        <value>
          KEY_WORLD_17
        </value>
        <value>
          KEY_WORLD_18
        </value>
        <value>
          KEY_WORLD_19
        </value>
        <value>
          KEY_WORLD_20
        </value>
        <value>
          KEY_WORLD_21
        </value>
        <value>
          KEY_WORLD_22
        </value>
        <value>
          KEY_WORLD_23
        </value>
        <value>
          KEY_WORLD_24
        </value>
        <value>
          KEY_WORLD_25
        </value>
        <value>
          KEY_WORLD_26
        </value>
        <value>
          KEY_WORLD_27
        </value>
        <value>
          KEY_WORLD_28
        </value>
        <value>
          KEY_WORLD_29
        </value>
        <value>
          KEY_WORLD_30
        </value>
        <value>
          KEY_WORLD_31
        </value>
        <value>
          KEY_WORLD_32
        </value>
        <value>
          KEY_WORLD_33
        </value>
        <value>
          KEY_WORLD_34
        </value>
        <value>
          KEY_WORLD_35
        </value>
        <value>
          KEY_WORLD_36
        </value>
        <value>
          KEY_WORLD_37
        </value>
        <value>
          KEY_WORLD_38
        </value>
        <value>
          KEY_WORLD_39
        </value>
        <value>
          KEY_WORLD_40
        </value>
        <value>
          KEY_WORLD_41
        </value>
        <value>
          KEY_WORLD_42
        </value>
        <value>
          KEY_WORLD_43
        </value>
        <value>
          KEY_WORLD_44
        </value>
        <value>
          KEY_WORLD_45
        </value>
        <value>
          KEY_WORLD_46
        </value>
        <value>
          KEY_WORLD_47
        </value>
        <value>
          KEY_WORLD_48
        </value>
        <value>
          KEY_WORLD_49
        </value>
        <value>
          KEY_WORLD_50
        </value>
        <value>
          KEY_WORLD_51
        </value>
        <value>
          KEY_WORLD_52
        </value>
        <value>
          KEY_WORLD_53
        </value>
        <value>
          KEY_WORLD_54
        </value>
        <value>
          KEY_WORLD_55
        </value>
        <value>
          KEY_WORLD_56
        </value>
        <value>
          KEY_WORLD_57
        </value>
        <value>
          KEY_WORLD_58
        </value>
        <value>
          KEY_WORLD_59
        </value>
        <value>
          KEY_WORLD_60
        </value>
        <value>
          KEY_WORLD_61
        </value>
        <value>
          KEY_WORLD_62
        </value>
        <value>
          KEY_WORLD_63
        </value>
        <value>
          KEY_WORLD_64
        </value>
        <value>
          KEY_WORLD_65
        </value>
        <value>
          KEY_WORLD_66
        </value>
        <value>
          KEY_WORLD_67
        </value>
        <value>
          KEY_WORLD_68
        </value>
        <value>
          KEY_WORLD_69
        </value>
        <value>
          KEY_WORLD_70
        </value>
        <value>
          KEY_WORLD_71
        </value>
        <value>
          KEY_WORLD_72
        </value>
        <value>
          KEY_WORLD_73
        </value>
        <value>
          KEY_WORLD_74
        </value>
        <value>
          KEY_WORLD_75
        </value>
        <value>
          KEY_WORLD_76
        </value>
        <value>
          KEY_WORLD_77
        </value>
        <value>
          KEY_WORLD_78
        </value>
        <value>
          KEY_WORLD_79
        </value>
        <value>
          KEY_WORLD_80
        </value>
        <value>
          KEY_WORLD_81
        </value>
        <value>
          KEY_WORLD_82
        </value>
        <value>
          KEY_WORLD_83
        </value>
        <value>
          KEY_WORLD_84
        </value>
        <value>
          KEY_WORLD_85
        </value>
        <value>
          KEY_WORLD_86
        </value>
        <value>
          KEY_WORLD_87
        </value>
        <value>
          KEY_WORLD_88
        </value>
        <value>
          KEY_WORLD_89
        </value>
        <value>
          KEY_WORLD_90
        </value>
        <value>
          KEY_WORLD_91
        </value>
        <value>
          KEY_WORLD_92
        </value>
        <value>
          KEY_WORLD_93
        </value>
        <value>
          KEY_WORLD_94
        </value>
        <value>
          KEY_WORLD_95
        </value>
        <value>
          KEY_KP0
        </value>
        <value>
          KEY_KP1
        </value>
        <value>
          KEY_KP2
        </value>
        <value>
          KEY_KP3
        </value>
        <value>
          KEY_KP4
        </value>
        <value>
          KEY_KP5
        </value>
        <value>
          KEY_KP6
        </value>
        <value>
          KEY_KP7
        </value>
        <value>
          KEY_KP8
        </value>
        <value>
          KEY_KP9
        </value>
        <value>
          KEY_KP_PERIOD
        </value>
        <value>
          KEY_KP_DIVIDE
        </value>
        <value>
          KEY_KP_MULTIPLY
        </value>
        <value>
          KEY_KP_MINUS
        </value>
        <value>
          KEY_KP_PLUS
        </value>
        <value>
          KEY_KP_ENTER
        </value>
        <value>
          KEY_KP_EQUALS
        </value>
        <value>
          KEY_UP
        </value>
        <value>
          KEY_DOWN
        </value>
        <value>
          KEY_RIGHT
        </value>
        <value>
          KEY_LEFT
        </value>
        <value>
          KEY_INSERT
        </value>
        <value>
          KEY_HOME
        </value>
        <value>
          KEY_END
        </value>
        <value>
          KEY_PAGEUP
        </value>
        <value>
          KEY_PAGEDOWN
        </value>
        <value>
          KEY_F1
        </value>
        <value>
          KEY_F2
        </value>
        <value>
          KEY_F3
        </value>
        <value>
          KEY_F4
        </value>
        <value>
          KEY_F5
        </value>
        <value>
          KEY_F6
        </value>
        <value>
          KEY_F7
        </value>
        <value>
          KEY_F8
        </value>
        <value>
          KEY_F9
        </value>
        <value>
          KEY_F10
        </value>
        <value>
          KEY_F11
        </value>
        <value>
          KEY_F12
        </value>
        <value>
          KEY_F13
        </value>
        <value>
          KEY_F14
        </value>
        <value>
          KEY_F15
        </value>
        <value>
          KEY_NUMLOCK
        </value>
        <value>
          KEY_CAPSLOCK
        </value>
        <value>
          KEY_SCROLLOCK
        </value>
        <value>
          KEY_RSHIFT
        </value>
        <value>
          KEY_LSHIFT
        </value>
        <value>
          KEY_RCTRL
        </value>
        <value>
          KEY_LCTRL
        </value>
        <value>
          KEY_RALT
        </value>
        <value>
          KEY_LALT
        </value>
        <value>
          KEY_RMETA
        </value>
        <value>
          KEY_LMETA
        </value>
        <value>
          KEY_LSUPER
        </value>
        <value>
          KEY_RSUPER
        </value>
        <value>
          KEY_MODE
        </value>
        <value>
          KEY_COMPOSE
        </value>
        <value>
          KEY_HELP
        </value>
        <value>
          KEY_PRINT
        </value>
        <value>
          KEY_SYSREQ
        </value>
        <value>
          KEY_BREAK
        </value>
        <value>
          KEY_MENU
        </value>
        <value>
          KEY_POWER
        </value>
        <value>
          KEY_EURO
        </value>
        <value>
          BUTTON_LEFT
        </value>
        <value>
          BUTTON_MIDDLE
        </value>
        <value>
          BUTTON_RIGHT
        </value>
        <value>
          BUTTON_WHEELUP
        </value>
        <value>
          BUTTON_WHEELDOWN
        </value>
        <value>
          BUTTON_LMASK
        </value>
        <value>
          BUTTON_MMASK
        </value>
        <value>
          BUTTON_RMask
        </value>
        <value>
          MAX_JOYSTICKS
        </value>
        <value>
          MAX_AXES
        </value>
        <value>
          MAX_BUTTONS
        </value>
        <value>
          AXIS_MIN
        </value>
        <value>
          AXIS_MAX
        </value>
        <value>
          JOY_AXIS_THRESHOLD
        </value>
        <value>
          HAT_CENTERED
        </value>
        <value>
          HAT_UP
        </value>
        <value>
          HAT_RIGHT
        </value>
        <value>
          HAT_DOWN
        </value>
        <value>
          HAT_LEFT
        </value>
        <value>
          HAT_RIGHTUP
        </value>
        <value>
          HAT_RIGHTDOWN
        </value>
        <value>
          HAT_LEFTUP
        </value>
        <value>
          HAT_LEFTDOWN
        </value>
        <value>
          JOYAXISMOTION
        </value>
        <value>
          JOYBALLMOTION
        </value>
        <value>
          JOYHATMOTION
        </value>
        <value>
          JOYBUTTONDOWN
        </value>
        <value>
          JOYBUTTONUP
        </value>
      </Values>
    </Globals>
  </Root>
