components
23 items
classZBaseComponent
abstract class ZBaseComponent : ZComponent, ZLoggable
Represents the base class for components in the Zernikalos Engine.
interfaceZBindeable
interface ZBindeable
Represents a bindable resource or component in the Zernikalos framework. Classes implementing this interface indicate that they require binding prior to usage and unbinding after usage, typically for rendering or resource management purposes.
interfaceZComponent
interface ZComponent : ZRef
Represents a component in the Zernikalos Engine that provides basic initialization and renderability functionalities. This interface is used as a foundation for defining components that interact with a ZRenderingContext.
classZComponentData
abstract class ZComponentData : ZLoggable, ZRef
Represents an abstract base class for data objects associated with components in the Zernikalos Engine.
classZComponentRenderer
abstract class ZComponentRenderer : ZLoggable
Abstract base class responsible for rendering components in the Zernikalos engine. Serves as the foundation for implementing render-specific logic for components that require rendering capabilities.
classZComponentSerializer
abstract class ZComponentSerializer<T : ZComponent, D : Any> : KSerializer<T>
Abstract base class for serializing ZComponent instances.
enum ZMainComponentType : Enum<ZMainComponentType>
classZOmniComponent
abstract class ZOmniComponent<D : ZComponentData, R : ZComponentRenderer>(data: D) : ZBaseComponent
Represents an abstract component in the Zernikalos Engine that combines both rendering and serialization capabilities.
abstract class ZRefComponentSerializer<T : ZComponent, D : ZComponentData, K : ZRefComponentWrapper<D>>(loaderContext: ZLoaderContext) : KSerializer<T>
interfaceZRefComponentWrapper
interface ZRefComponentWrapper<D : ZRef>
interfaceZRenderizable
interface ZRenderizable
Defines a contract for objects that can be rendered on the screen using a rendering system. Implementing classes should provide the logic for drawing their visual representation.
abstract class ZRenderizableComponent<R : ZComponentRenderer> : ZBaseComponent
Represents an abstract component in the Zernikalos Engine that is renderizable, meaning it can produce a renderer to handle the rendering logic.
classZRenderizableImpl
class ZRenderizableImpl<R : ZComponentRenderer>(component: ZBaseComponent, rendererFactory: (ZRenderingContext) -> R) : ZRenderizableMixin<R>
Implementation of the ZRenderizableMixin interface that handles renderer creation and management for components.
interfaceZRenderizableMixin
interface ZRenderizableMixin<R : ZComponentRenderer>
Mixin interface for components that can be rendered.
interfaceZResizable
interface ZResizable
An interface for objects that will listen to changes on the viewport dimensions.
abstract class ZSerializableComponent<D : ZComponentData>(data: D) : ZBaseComponent
Represents an abstract component in the Zernikalos Engine that can be serialized, meaning it contains data that can be persisted and restored.
classZSerializableImpl
class ZSerializableImpl<D : ZComponentData>(component: ZBaseComponent, val data: D) : ZSerializableMixin<D>
Implementation of the ZSerializableMixin interface that handles data management for serializable components.
interfaceZSerializableMixin
interface ZSerializableMixin<D : ZComponentData>
Mixin interface for components that can be serialized.
classZViewport
@Serializable(with = ZViewportSerializer::class)
class ZViewport : ZOmniComponent<ZViewportData, ZViewportRenderer> , ZRenderizable, ZResizable
Represents a viewport box for rendering objects in Zernikalos.
data classZViewportData
@Serializable
data class ZViewportData(var clearColor: ZColor = ZColor(.2f, .2f, .2f, 1.0f)) : ZComponentData
classZViewportRenderer
expect class ZViewportRenderer(ctx: ZRenderingContext, data: ZViewportData) : ZComponentRenderer
actual class ZViewportRenderer(ctx: ZRenderingContext, data: ZViewportData) : ZComponentRenderer
actual class ZViewportRenderer(ctx: ZRenderingContext, data: ZViewportData) : ZComponentRenderer
actual class ZViewportRenderer(ctx: ZRenderingContext, data: ZViewportData) : ZComponentRenderer
classZViewportSerializer
class ZViewportSerializer : ZComponentSerializer<ZViewport, ZViewportData>