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.A
StylesJsonValueParser implementation for BaseStyles.Builder.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.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.ColliderShapeConvexPolygon is a
ColliderShape implementation for a convex polygon which utilize a
ConvexPolygon 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.ConvexPolygon represents a convex polygon.
ConvexPolygonEntityGraphicsModule is a
SolaEntityGraphicsModule implementation for rendering Entity that
have a TransformComponent and ConvexPolygonRendererComponent.ConvexPolygonRendererComponent is a
Component containing data for rendering 2d convex polygons.CrossAxisChildren defines how a
GuiElement's children when be positioned
when extra space is available on the cross axis defined by its Direction.DebugControlSystem is an
EcsSystem that handles updating the debug state of DebugGraphicsModule.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
FontFontGlyphJsonMapper 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.Event fired whenever from the
GameLoop with FPS and UPS stats.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.
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).SolaGraphicsModule for rendering a
GuiDocument.The
EcsSystem responsible for updating the attached GuiDocument.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<Styles extends BaseStyles,Element extends GuiElement<Styles,?>,StylesBuilder extends BaseStyles.Builder<?>>
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 GuiMouseEvents.GuiNavigationScreen is a screen that can be navigated to via
GuiNavigator.navigate(java.lang.Class<T>).GuiNavigator is a class that manages navigation between
GuiNavigationScreens.GuiNavigatorScreenWithoutPayload is a screen that can be navigated to via
GuiNavigator.navigate(java.lang.Class<T>).GuiTheme instances contain
GuiElement to BaseStyles mappings that can be applied to a specific
element or an element and all its children.GuiKeyEvent is a
GuiEvent implementation for GuiTouchEvents.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.
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 reading a GUI JSON file that uses a tag that has not been registered in
the
GuiJsonDocumentBuilder.MouseButton enum contains information about mouse buttons.
MouseEvent contains data for a mouse related event.
MouseInput contains information about user interaction with the mouse.
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.
Contains render order constants for
SolaGraphicsModules.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.
Creates a
SolaConfiguration.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.Builder for
SolaGraphics.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.
A builder for
SolaPhysics.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 pointer.
SolaPlatformInitialization is a
FunctionalInterface defining the contract for finishing initialization
of a SolaPlatform.SolaPlatformCommonConfig defines common configuration options for all
SolaPlatforms.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.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.A
StylesJsonValueParser implementation for TextStyles.Builder.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.
A
StylesJsonValueParser implementation for TextStyles.Builder.Contains the details about the touch interaction.
TouchEvent contains data for when a
Touch interaction happens.TouchInput contains information about user interaction with the touch screen.
TouchPhase enum contains information about the phase of a touch gesture.
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.