Class List

Here are the classes, structs, unions and interfaces with brief descriptions:
AgateLib.AgateApplicationApplication framework for a game. Using AgateApplication can simplify the application source code and start up
AgateLib.AgateCrossPlatformExceptionException which is thrown when AgateLib detects that it is used in a way that may not be portable to different platforms, and Core.CrossPlatformDebugLevel is set to Exception
AgateLib.AgateExceptionBase exception class for exceptions which are thrown by AgateLib
AgateLib.AgateFileProviderProvides an interface for opening files. Objects implementing IFileProvider can be added to separate lists for images, sounds, etc. which are used to find files when Surfaces, SoundBuffers, etc. are constructed
AgateLib.AgateSetupClass which is designed to simplify initialization and de-initialization of the library. It is recommended to have a Setup object in a using block around your game code so that calling Dispose is guaranteed
AgateLib.AudioLib.AudioStatic class which contains basic functions for playing sound and music. This is analogous to the static Display class, but playing audio files is much less complicated
AgateLib.AudioLib.MusicA class which performs Music playback
AgateLib.AudioLib.SoundBufferA class which is used for loading and playing of sounds. Typically this is used for sound effects, whereas playing background music is done by the Music class
AgateLib.AudioLib.SoundBufferSessionA class which represents a playback instance of a SoundBuffer object
AgateLib.BitmapFont.BitmapFontImplProvides a basic implementation for the use of non-system fonts provided as a bitmap
AgateLib.BitmapFont.BitmapFontOptionsClass which indicates how a bitmap font should be generated from an operating system font
AgateLib.BitmapFont.BitmapFontOptions.BitmapFontOptions.CharacterRangeClass which represents a range of characters
AgateLib.BitmapFont.FontMetricsFontMetrics is a class which describes everything needed to render a font from a bitmap image
AgateLib.BitmapFont.GlyphMetricsGlyphMetrics defines the metrics for a particular glyph in a font, including the rectangle of the glyph on the source image, overhang, and kerning pairs
AgateLib.CoreClass which contains methods commonly used by the entire library
AgateLib.DisplayLib.CreateWindowParamsClass which describes how a DisplayWindow should be created. Several static methods exist to allow
AgateLib.DisplayLib.DisplayStatic class which contains all basic functions for drawing onto the Display. This class is most central to game rendering. At the beginning and end of each frame Display.BeginFrame() and Display.EndFrame() must be called. All drawing calls must occur between BeginFrame and EndFrame
AgateLib.DisplayLib.DisplayWindowA class representing a screen region which is used as a RenderTarget
AgateLib.DisplayLib.FontSurfaceClass which represents a font to draw on the screen
AgateLib.DisplayLib.IRenderTargetDefines the interface used for render targets. Implemented by DisplayWindow and Surface
AgateLib.DisplayLib.ISpriteBasic interface implemented by different sprite classes
AgateLib.DisplayLib.ISpriteFrameBasic interface implemented by a particular frame in a sprite
AgateLib.DisplayLib.ISurfacePublic Surface interface
AgateLib.DisplayLib.LightClass which represents a single light source. Only point light sources are supported at the moment
AgateLib.DisplayLib.LightManagerThe LightManager class keeps a list of Light objects which can be used to setup the lighting in the rendering API
AgateLib.DisplayLib.OriginStatic class which performs necessary calculates based on OriginAlignment values
AgateLib.DisplayLib.PixelBufferClass which encapsulates raw pixel data. This can be used to construct or modify surface data programmatically
AgateLib.DisplayLib.ScreenModeClass which contains information about an available screen mode
AgateLib.DisplayLib.StringTransformerStatic class for basic string transformers
AgateLib.DisplayLib.StringTransformer.StringTransformer.Trans_NoTransformationClass which does not do any transformation
AgateLib.DisplayLib.StringTransformer.StringTransformer.Trans_ToLowerCaseClass which converts string to lower case
AgateLib.DisplayLib.StringTransformer.StringTransformer.Trans_ToUpperCaseClass which converts string to upper case
AgateLib.DisplayLib.SurfaceClass which represents a pixel surface. There are several ways to create a Surface object. The most common is to pass the name of an image file
AgateLib.Drivers.AgateDriverInfoClass which describes a driver for use by AgateLib. A class inheriting from AgateDriverReporter should construct AgateDriverInfo instances for each driver in a plug-in assembly
AgateLib.Drivers.AgateDriverReporterClass which is used by the Registrar to enumerate the drivers available in a satellite assembly. Any assembly with drivers for use by AgateLib should have a class inheriting from AgateDriverReporter and should construct AgateDriverInfo objects for each driver in the assembly
AgateLib.Drivers.IDesktopDriver
AgateLib.Drivers.IUserSetSystemsInterface for asking the user which Agate drivers to invoke
AgateLib.Drivers.RegistrarStatic class with which drivers register themselves so that the library can instantiate them
AgateLib.Geometry.ColorReplacement for System.Drawing.Color structure
AgateLib.Geometry.GradientA four color gradient, with a different color value for each corner
AgateLib.Geometry.PointReplacement for System.Drawing.Point structure
AgateLib.Geometry.PointConverterPointConverter
AgateLib.Geometry.PointFReplacement for System.Drawing.PointF structure
AgateLib.Geometry.RectangleReplacement for System.Drawing.Rectangle structure
AgateLib.Geometry.RectangleFReplacement for System.Drawing.RectangleF structure
AgateLib.Geometry.SizeReplacement for System.Drawing.Size object
AgateLib.Geometry.SizeConverter
AgateLib.Geometry.SizeFSizeF structure
AgateLib.Geometry.Vector2Structure which describes a vector in 2-space. The Vector2 class contains overloads for mathematical operations to make computation expressions involving the Vector2 simple and expressive
AgateLib.Geometry.Vector3Structure which describes a vector in 3-space
AgateLib.IFileProviderPublic interface that should be implemented
AgateLib.ImplementationBase.AudioImplImplements Audio class factory
AgateLib.ImplementationBase.DisplayImplAbstract base class for implementing the Display object
AgateLib.ImplementationBase.DisplayWindowImplImplementation of DisplayWindow class
AgateLib.ImplementationBase.DriverImplBaseBase class all driver classes should implement
AgateLib.ImplementationBase.FontSurfaceImplImplements a FontSurface
AgateLib.ImplementationBase.IDisplayCapsInterface which allows querying of Display capabilities
AgateLib.ImplementationBase.InputImplImplementation for Input Manager
AgateLib.ImplementationBase.IRenderTargetImplDefines the interface used for render targets. SurfaceImpl and DisplayWindowImpl implement this interface
AgateLib.ImplementationBase.JoystickImplClass which implements a Joystick
AgateLib.ImplementationBase.MusicImplClass which implements a Music object
AgateLib.ImplementationBase.SoundBufferImplImplements a SoundBuffer
AgateLib.ImplementationBase.SoundBufferSessionImplRepresents a playback instance
AgateLib.ImplementationBase.SurfaceImplBase class for implementing a Surface structure
AgateLib.InputLib.InputEventArgsClass which describes details about an input event
AgateLib.InputLib.JoystickClass which encapsulates a single joystick
AgateLib.InputLib.JoystickInputStatic class which contains a list of the joystick input devices attached to the computer
AgateLib.InputLib.KeyboardStatic class which represents Keyboard input
AgateLib.InputLib.Keyboard.Keyboard.KeyStateClass which represents the state of all keys on the keyboard
AgateLib.InputLib.KeyModifiersStructure which keeps track of modifier keys applied to other keys
AgateLib.InputLib.MouseClass which encapsulates input from the mouse
AgateLib.InputLib.Mouse.Mouse.MouseStateClass which encapsulates the state of the mouse
AgateLib.InternalResources.DataResourcesA strongly-typed resource class, for looking up localized strings, etc
AgateLib.PlatformSpecific.IPlatformServicesPublic interface which provides information and methods for a specific platform
AgateLib.Resources.AgateResourceClass which represents a resource
AgateLib.Resources.AgateResourceCollectionClass which wraps an XML based resource file. This class provides methods for adding and extracting resources
AgateLib.Resources.AgateResourceExceptionAgateException derived exception class used when there is a problem reading from a resource file
AgateLib.Resources.AgateResourceLoaderStatis class which loads and saves AgateResourceCollection objects to disk
AgateLib.Resources.BitmapFontResourceResource representing a bitmap font
AgateLib.Resources.DisplayWindowResourceThe DisplayWindowResource represents a display window. XML Attributes:
string name, Size size, Size minimum_size, Size maximum_size, bool allow_resize, bool full_screen, int bpp. Title text is stored in the body of the XML element.

A zero or missing value for any width/height means it doesn't apply.

AgateLib.Resources.SpriteResourceResource which loads a sprite. There are two different types of sprites, a general purpose sprite, implemented as the Sprite class, and a packed version which maximizes the memory efficiency, implemented as PackedSprite.
XML Attributes:
string name, bool packed, Size size, string image, double timePerFrame (in milliseconds)
AgateLib.Resources.SpriteResource.SpriteResource.SpriteFrameResourceClass representing a frame of a sprite in a SpriteResource
AgateLib.Resources.SpriteResource.SpriteResource.SpriteImageResourceClass representing an image to automatically load frames from
AgateLib.Resources.StringTableClass which contains a table of string-string mappings. Similar to a Dictionary, but includes methods for reading to / writing from an AgateLib resource file
AgateLib.Resources.SurfaceResourceResource which loads a surface.
XML Attributes:
string name, string filename
AgateLib.Serialization.Formatters.Xml.XmlFormatterThe XmlFormatter class implements a custom XmlFormatter which uses the ISerializable interace. The class implements the IFormatter interface to serialize and deserialize the object to an XML representation
AgateLib.Serialization.Formatters.Xml.XmlFormatter.XmlFormatter.CustomBinderThe CustomBinder class performs the mapping to types declared in this assembly. It accumulates all types defined in the assembly this class is defined in. Optionally, an assembly can be passed as an argument
AgateLib.Serialization.Formatters.Xml.XmlFormatter.XmlFormatter.CustomSerializationEntryThe CustomSerializationEntry mimics the System.Runtime.Serialization.SerializationEntry class to make it possible to create our own entries. The class acts as a placeholder for a type, it's name and it's value. This class is used in the XmlFormatter class to serialize objects
AgateLib.Serialization.Xle.ITypeBinderThis interface must be implemented by any class which wants to provide custom type binding (mapping from a string to a Type object) for the XleSerializer
AgateLib.Serialization.Xle.IXleSerializableInterface that must be implemented in order to make an object serializable with the XleSerializer
AgateLib.Serialization.Xle.XleSerializationExceptionException thrown when there is a problem in the XleSerializer
AgateLib.Serialization.Xle.XleSerializationInfoThe XleSerializationInfo class contains the XML data that is read from or written to when doing XLE serialization
AgateLib.Serialization.Xle.XleSerializerClass used to serialize data to a compact XML format
AgateLib.Sprites.FrameList< T >Class which contains a list of sprite frames
AgateLib.Sprites.IFrameListIterface implemented by a list of sprite frames. This provides a read-only view into the frames in a sprite
AgateLib.Sprites.SpriteA class for representing an animated image
AgateLib.Sprites.SpriteFrameClass for a single frame of a sprite
AgateLib.TimingStatic class which handles timing. This is often used to update object positions and animations
AgateLib.Timing.Timing.StopWatchClass which represents a StopWatch. A StopWatch can be paused and reset independently of other StopWatches
AgateLib.Utility.FileProviderListContains a list of IFileProvider objects that are used to search for and open files
AgateLib.Utility.FileSystemProviderFileSystemProvider implements IFileProvider, providing access to files from the operating system file system
AgateLib.Utility.PlatformReturns information about the current platform
AgateLib.Utility.Ref< T >A structure which is used for copying RefCounter<T> around. In order to make sure reference counters are updated correctly, never use the equals operator with this object. Always create a new one and pass the old one to the constructor
AgateLib.Utility.RefCounter< T >Class which implements a reference counter around a Disposable object. The object is disposed when the reference count drops to zero. This class should not be used directly, instead use the Ref<T> structure
AgateLib.Utility.SurfacePackerClass which handles packing of surfaces into a large surface
AgateLib.Utility.SurfacePacker.SurfacePacker.PackedSurfaceClass which creates the final packed surface
AgateLib.Utility.SurfacePacker.SurfacePacker.RectHolder< T >Holds a destination rectangle and object to go in it
AgateLib.Utility.SurfacePacker.SurfacePacker.RectPacker< T >Class which takes a bunch of rectangles and organizes them to all fit within a large rectangle
AgateLib.Utility.TgzFileProviderTgzFileProvider implements IFileProvider and provides read access to gzipped tar archives. This provides basic support for reading files from a compressed archive external to the application
AgateLib.Utility.ZipFileProviderTgzFileProvider implements IFileProvider and provides read access to zip file archives. This provides basic support for reading files from a compressed archive external to the application. The only compression method supported by ZipFileProvider is the deflate method, so you must make sure that any compressed data in the zip file is compressed with deflate
AgateLib
Awesome Game and Tool Engine Library
SourceForge.net Logo