All Classes and Interfaces

Class
Description
AffineTransform represents an affine transformation.
AspectMode specifies how rendered output will be scaled when the window resizes.
AspectRatioSizing contains the top, left coordinate for where rendering will begin as well as the width and height of the space to render in.
Asset notates a class as being able to be loaded by an AssetLoader.
AssetHandle is a handle to an Asset that may or may not be loaded yet.
The AssetLoader class contains functionality for loading an Asset type.
The AssetLoaderProvider class holds instances of AssetLoaders for various Asset types.
AudioClip defines the api for audio Assets.
Background contains the properties for a GuiElement's background.
BaseInputGuiElement provides basic functionality for GuiElements that allow users to interact with them via keyboard or mouse events.
BaseStyles contains properties that are common to all GuiElement to use as part of rendering.
Builder class for BaseStyles.
BlendFunction controls how the pixel being drawn (top) and the destination pixel (bottom) will be blended together to produce a final color that is drawn.
BlendMode is an enum of several prebuilt BlendFunctions.
BlendModeComponent is a Component that modifies the BlendFunction used when rendering this Entity
Border contains the properties for a GuiElement's border.
BulkAssetLoader handles loading a collection of various Assets proving a handle for the collection with callbacks for when all the assets have finished loading.
BulkAssetHandle holds the collection of Assets that have been loaded by a BulkAssetLoader.
ButtonGuiElement is a BaseInputGuiElement that allows users to interact via clicking the button or using keyboard shortcuts.
CameraComponent is a Component that contains data for a 2d camera for an Entity.
Canvas is an array of pixels with a width and height defined.
Circle represents a geometric circle.
CircleEntityGraphicsModule is a SolaEntityGraphicsModule implementation for rendering Entity that have a TransformComponent and CircleRendererComponent.
CircleRendererComponent is a Component containing data for rendering 2d circles.
ColliderComponent is a Component that contains collision data for an Entity.
ColliderShape contains methods and data needed for geometric Shapes for collision calculations.
ColliderShapeAABB is a ColliderShape implementation for Axis-Aligned Bounding Boxes which utilize a Rectangle for its geometric shape representation.
ColliderShapeCircle is a ColliderShape implementation for a circle which utilize a Circle for its geometric shape representation.
ColliderShapeTriangle is a ColliderShape implementation for a triangle which utilize a Triangle for its geometric shape representation.
Identifier tag for this collider.
Available collider types.
ColliderUtils is a collection of utility methods for configuring ColliderComponent.
CollisionDetectionBroadPhase defines the contract for a broad phase collision detection algorithm to be used by CollisionDetectionSystem.
The CollisionDetectionSystem class is a EcsSystem implementation that handles checking if a World has any Entity with ColliderComponents that are colliding with each other.
Event that a collision happened that should be resolved by applying forces.
Creates a CollisionManifoldEventMessage for two entities.
The CollisionUtils class is a collection of various methods that help in collision detection and resolution.
The Color class represents an argb color that can be used for rendering.
ConditionalStyle holds a BaseStyles instance and a condition for when it should be applied.
A ControlInput is composed of a List of conditions.
ControlInputCondition indicates whether a condition for a ControlInput is active or not.
ControlsConfig is an Asset for control configurations.
ControlsConfigAssetLoader is an AssetLoader implementation for ControlsConfigs.
ControlsConfigJsonMapper is a JsonMapper implementation for ControlsConfig.
CrossAxisChildren defines how a GuiElement's children when be positioned when extra space is available on the cross axis defined by its Direction.
DebugEntityGraphicsModule is a SolaEntityGraphicsModule implementation for rendering debug information for a World.
The DefaultFont class contains a utility method for creating the default font instance for sola-game-engine.
Class containing constants for default style values for various properties used by GuiElement for rendering and layout calculations.
DefaultThemeBuilder contains methods for creating default GuiThemes that can then be further customized.
Direction defines the ways GuiElement children will flow.
Random chance of using color of top pixel based on alpha as the probability.
DrawItem hold logic to draw things onto a Renderer.
ColliderComponent is a Component that contains dynamic body physics data for an Entity.
EasingFunction is a representation of mathematical easing functions useful for things like animation.
The Event interface represents an event that can be listened to or emitted.
EventHub handles distribution of Events that are emitted to their respective EventListeners that have been added.
The EventListener interface defines the api for listening to emitted Events of a certain type.
FixedUpdateGameLoop is a GameLoop implementation that runs an update method at desired target updates per second and renders whenever an update is available.
Font is an Asset containing the information required to render strings of text for a particular font that has been rasterized into an image.
Represents the width and height that a string of text that would be rendered with a particular Font.
FontAssetLoader is an AssetLoader implementation for Fonts.
FontGlyph holds information on a glyph's placement in the rasterized Font
FontGlyphJsonMapper is a JsonMapper implementation for FontGlyphs.
FontInfo contains all the information needed to render strings for a Font.
FontInfoJsonMapper is a JsonMapper implementation for FontInfo.
FontStyle is an enum of possible Font style options.
GameLoop handles running a sequence of update and render commands at a target rate.
FpsTracker is a simple class for tracking update and frame ticks.
Event fired whenever the state of the GameLoop changes.
The current state of the GameLoop.
GravitySystem is an EcsSystem that applies a gravity constant of force to all Entity that have a DynamicBodyComponent, are not kinematic and not grounded.
GuiDocument is a container for GuiElement that also handles passing various key and mouse events to the currently active root element set via GuiDocument.setRootElement(GuiElement).
GuiElement is the base class for all elements that can be rendered in a GuiDocument.
GuiElementBounds holds the information for the bounding box for part of GuiElement.
GuiElementDimensions holds the width and height of a GuiElement measurement.
GuiElementEvents is a container for the GuiEventListenerLists for various event types for GuiElements.
GuiElementJsonBlueprint provides functionality for building a GuiElement with its styles from JSON.
GuiEvent defines the general api for gui specific events.
GuiEventListener GuiEventListener.onEvent(GuiEvent) method is called whenever the event of the type is emitted.
GuiEventListenerList is a data structure that holds GuiEventListeners for a particular kind of GuiEvent.
GuiEventSubscription is the handle to the event subscriber when it is registered to a GuiEventListenerList.
GuiJsonDocument as an Asset containing a GuiElement and its children that were loaded from a JSON file.
GuiJsonDocumentAssetLoader is an AssetLoader for GuiJsonDocuments.
GuiJsonDocumentBuilder handles building GuiJsonDocument instances from a JsonObject.
GuiKeyEvent is a GuiEvent implementation for KeyEvents.
GuiKeyEvent is a GuiEvent implementation for GuiMouseEvents.
GuiTheme instances contain GuiElement to BaseStyles mappings that can be applied to a specific element or an element and all its children.
HttpResponse contains details from the server's response to an http request.
ImageGuiElement is a GuiElement that renders a SolaImage in a GUI.
ImpulseCollisionResolutionSystem is an EcsSystem that responds to CollisionEvents applying an impulse to resolve collisions so that they will no longer overlap.
The Java-based implementation of RestClient utilizing HttpURLConnection.
A Java-based implementation of SocketClient utilizing Socket.
JavaSolaLogger is a SolaLogger implementation powered by Logger.
JavaSolaLoggerFactory is a SolaLoggerFactory implementation for desktop platforms (JavaFX and Swing).
Represents a JSON file Asset that was loaded.
Key enum contains information about keyboard keys.
KeyboardInput contains information about user interaction with the keyboard.
KeyboardInputException is an exception thrown when a key event is triggered with an unrecognized key code.
KeyboardLayout contains information for the current keyboard layout.
The type of keyboard.
KeyControlInputCondition is a ControlInputCondition to check if a Key is in an active state.
The possible states for KeyControlInputCondition.
KeyEvent contains data for a keyboard related event.
Layers contain a queue of DrawItem to ensure a particular draw order.
LayerComponent is a Component that contains data for a 2d rendering layers for an Entity.
LightComponent is a Component containing data for rendering lights.
Takes the max value of each channel for the destination pixel; alpha, red, green, blue.
LightFlicker
Defines the API for the function called to smooth the transition between the current and next light intensity values.
LightFlickerSystem is an EcsSystem that handles updating the flicker data of a LightComponent.
Line represents a geometric line with two points.
Adds the top and bottom pixels together ignoring alpha.
MainAxisChildren defines how a GuiElement's children when be positioned when extra space is available on the main axis defined by its Direction.
Transparent if alpha < 255 (bottom pixel used).
Material represents a physical material for physics simulations.
Credit to OneLoneCoder for guiding through this implementation
MergeableProperty defines the contract for a style property that can be merged with another like type property.
The minimum translation vector contains the information needed to resolve a collision.
Exception thrown when a Asset is requested but has not been registered with an AssetLoader.
Exception that is thrown when an AssetLoader is requested but has no implementation provided.
Exception thrown when attempting to render a FontGlyph that is not present in the rasterized Font.
Exception thrown when reading a GUI JSON file that uses a tag that has not been registered in the GuiJsonDocumentBuilder.
MouseButton enum contains information about mouse buttons.
MouseButtonInputCondition is a ControlInputCondition to check if a MouseButton is in an active state.
The possible states for MouseButtonControlInputCondition.
MouseEvent contains data for a mouse related event.
MouseInput contains information about user interaction with the mouse.
MouseWheelControlInputCondition is a ControlInputCondition to check if the mouse wheel is in an active state.
The possible states for MouseWheelControlInputCondition.
MouseWheelEvent is an event object containing information about an interaction with the mouse wheel.
Takes the RGB channel values from 0 to 1 of each pixel in the top layer and multiples them with the values for the corresponding pixel from the bottom layer.
NetworkQueue is a data structure for holding network messages in a first in first out basis.
No blending happens.
Blends top onto bottom based on alpha of top pixel.
Padding contains the properties for a GuiElement's padding which is the space between the element's border and content.
ParticleEmitterComponent is a Component that contains data for emitting ParticleEmitterComponent.Particles as well as data for its emitted particles.
Particle contains properties that represent a particle that has been emitted from a ParticleEmitterComponent.
ParticleEmitterEntityGraphicsModule is a SolaEntityGraphicsModule implementation for rendering Entity that have a TransformComponent and ParticleEmitterComponent.
ParticleSystem is an EcsSystem that handles updating Entity with a TransformComponent and ParticleEmitterComponent.
PhysicsSystem is an EcsSystem that handles updating Entity with a TransformComponent and DynamicBodyComponent.
Position contains the properties for absolutely positioning a GuiElement within its container.
QuadTreeCollisionDetectionBroadPhase is a CollisionDetectionBroadPhase implementation using a QuadTreeNode internally.
QuadTreeNode is a quad tree implementation for collidable Entity.
QuadTreeData holds data that can be inserted into a QuadTreeNode.
Rectangle represents an axis aligned geometric rectangle.
RectangleEntityGraphicsModule is a SolaEntityGraphicsModule implementation for rendering Entity that have a TransformComponent and RectangleRendererComponent.
RectangleRendererComponent is a Component containing data for rendering 2d rectangles.
Renderer defines the API for a sola game engine renderer.
RestClient defines the api for creating rest client implementations for sending HTTP requests.
ScreenSpaceLightMapGraphicsModule is a SolaGraphicsModule that handles drawing lighting for Entity that have LightComponents.
SectionGuiElement is a GuiElement that is simply a container for its children elements.
Event that a collision happened but will not be resolved by applying any forces.
SeparatingAxisTheorem contains methods for checking whether two convex polygons are colliding or not.
Shape is a common interface for geometric shapes.
SkipCollisionDetectionBroadPhase is a CollisionDetectionBroadPhase implementation that skips the broad phase check if a game does not require it.
SocketClient defines the api for interacting with a socket server.
SocketMessage contains data transmitted between a server and client.
SocketMessageDecoder is responsible for decoding SocketMessages from payloads received over sockets.
SocketMessageEncoder is responsible for encoding SocketMessages for transmission over sockets.
SoftwareRenderer is a Renderer implementation that draws on an in memory array of pixels using the CPU.
Sola contains the core functionality needed to make a game.
SolaControls contains control definitions for a Sola to use.
SolaEntityGraphicsModule<V extends technology.sola.ecs.view.ViewEntry>
SolaEntityGraphicsModule adds rendering functionality to SolaGraphics for rendering Entity that have specified Components.
SolaGraphics provides default rendering capabilities while also allowing for adding new rendering capabilities via SolaGraphicsModules.
SolaGraphicsModule adds additional rendering functionality to SolaGraphics.
SolaImage is an Asset that holds pixel data for an image.
SolaLogger instances are used to log messages to the console and/or files.
SolaLoggerFactory is an interface for defining the api for creating new SolaLogger instances for a target SolaPlatform.
SolaLogLevel defines the available sola engine logging levels.
SolaLogMessageFormatter is a SimpleFormatter implementation for sola engine log messages.
SolaMath is a collection of static math functions.
SolaPhysics configures several physics systems in a default configuration.
SolaPlatform defines the API for a platform to run Sola.
GameLoopProvider is a FunctionalInterface defining the contract for providing a GameLoop implementation for the sola game engine to use.
Holds the coordinate of the mouse.
SolaPlatformInitialization is a FunctionalInterface defining the contract for finishing initialization of a SolaPlatform.
SolaPlatformIdentifier is a unique identifier for a SolaPlatform implementation.
SolaPlatformType represents the broad types of devices that a particular SolaPlatform is implemented for.
Wrapper around Random that exposes some additional convenience methods.
SolaWithDefaults extends Sola with some default behaviors that many games will find useful, such as default physics configurations and rendering options.
The SpatialHashMap class is a spatial hashmap implementation that maps Entity into a bucket with other entities based on its 2D coordinate.
BucketId holds the top, left coordinate that identifies a bucket.
SpatialHashMapCollisionDetectionBroadPhase is a CollisionDetectionBroadPhase implementation utilizing a SpatialHashMap internally.
SpritesAnimatorComponent is a Component that contains data for controlling how a SpriteComponent animates between frames.
AnimationCompleteCallback is a FunctionalInterface for defining functionality that happens when an animation completes.
SpriteAnimatorSystem handles updating the animation state of Entity that have a SpriteComponent and SpriteAnimatorComponent.
SpriteComponent is a Component that contains data for rendering 2d sprites for an Entity.
SpriteEntityGraphicsModule is a SolaEntityGraphicsModule implementation for rendering Entity that have a TransformComponent and SpriteComponent.
SpriteGuiElement is a GuiElement that renders a sprite from a SpriteSheet in a GUI.
Contains information about a sprite within a spritesheet.
SpriteKeyFrame holds information about how long a particular sprite should be rendered as part of an animation.
SpriteSheet is an Asset for a collection of sprites.
SpriteSheetAssetLoader is an AssetLoader implementation for SpriteSheets.
Contains information about a spritesheet.
SpriteSheetInfoJsonMapper is a JsonMapper implementation for SpriteSheetInfo.
StyleContainer is a container for ConditionalStyles that apply to a GuiElement.
A collection of common JsonElementparsing methods for use by StylesJsonValueParsers.
StylesJsonValueParser handles parsing a style value from a JsonElement and setting it into a StylesBuilder.
StyleValue holds a numeric value that can be represented as an absolute value or a relative percentage value.
TextGuiElement is a GuiElement that renders text for a GUI.
TextInputGuiElement is a BaseInputGuiElement that allows users to interact via typing text into the field.
TextInputStyles extends TextStyles properties adding in extra properties for text input.
Builder class for TextInputStyles.
TextRenderDetails contains the rendering information needed for text.
TextRenderUtils contains methods useful for rendering text for a GUI.
TextStyles extends BaseStyles properties by adding extra properties for rendering text.
Builder class for TextStyles.
TextAlignment informs where text should be rendered within its available rendering space.
TransformAnimatorComponent is a Component that contains properties for defining an animation that is applied to an Entitys TransformComponent.
AnimationCompleteCallback is a FunctionalInterface for defining functionality that happens when a TransformAnimatorComponent animation completes.
TransformAnimatorSystem handles updating the animation state of Entity that have a TransformComponent and TransformAnimatorComponent.
TransformComponent is a Component containing translate and scale data for an Entity.
Triangle represents a geometric triangle.
TriangleEntityGraphicsModule is a SolaEntityGraphicsModule implementation for rendering Entity that have a TransformComponent and TriangleRendererComponent.
TriangleRendererComponent is a Component containing data for rendering 2d triangles.
Exception thrown when reading a GUI JSON file that uses a styles property that is not recognized.
The Vector2D class is an implementation of a linear algebra vector.
Viewport contains various information about the current viewport used.
Visibility contains options for element rendering.