# DO NOT EDIT! This file was auto-generated by crates/build/re_types_builder/src/codegen/python/mod.rs
# Based on "crates/store/re_sdk_types/definitions/rerun/components/draw_order.fbs".

# You can extend this class by creating a "DrawOrderExt" class in "draw_order_ext.py".

from __future__ import annotations

from .. import datatypes
from .._baseclasses import (
    ComponentBatchMixin,
    ComponentMixin,
)

__all__ = ["DrawOrder", "DrawOrderBatch"]


class DrawOrder(datatypes.Float32, ComponentMixin):
    """
    **Component**: Draw order of 2D elements. Higher values are drawn on top of lower values.

    An entity can have only a single draw order component.
    Within an entity draw order is governed by the order of the components.

    Draw order for entities with the same draw order is generally undefined.
    """

    _BATCH_TYPE = None
    # You can define your own __init__ function as a member of DrawOrderExt in draw_order_ext.py

    # Note: there are no fields here because DrawOrder delegates to datatypes.Float32


class DrawOrderBatch(datatypes.Float32Batch, ComponentBatchMixin):
    _COMPONENT_TYPE: str = "rerun.components.DrawOrder"


# This is patched in late to avoid circular dependencies.
DrawOrder._BATCH_TYPE = DrawOrderBatch  # type: ignore[assignment]
