"""
@generated by codestare-proto-plus.  Do not edit manually!
"""
from proto import (
    BYTES,
    Enum,
    Field,
    INT32,
    RepeatedField,
    module,
)

from proto.message import (
    Message,
)


__protobuf__ = module(
    package="ubii.proto.v1.dataStructure",
    marshal="ubii.proto.v1",
    manifest={
        "Image2D",
        "Image2DList",
    }
)


class Image2D(Message):
    """
    Attributes:
        width (proto.fields.Field): :obj:`~proto.fields.Field` of type
            :obj:`~proto.primitives.ProtoType.INT32`
        height (proto.fields.Field): :obj:`~proto.fields.Field` of type
            :obj:`~proto.primitives.ProtoType.INT32`
        data_format (proto.fields.Field): :obj:`~proto.fields.Field` of type :obj:`~.DataFormat`
        data (proto.fields.Field): :obj:`~proto.fields.Field` of type
            :obj:`~proto.primitives.ProtoType.BYTES`
    """

    class DataFormat(Enum):
        GRAY8 = 0
        RGB8 = 1
        RGBA8 = 2

    width = Field(
        INT32,
        number=1,
    )
    height = Field(
        INT32,
        number=2,
    )
    data_format = Field(
        DataFormat,
        number=3,
    )
    data = Field(
        BYTES,
        number=4,
    )


class Image2DList(Message):
    """
    Attributes:
        elements (proto.fields.RepeatedField): :obj:`~proto.fields.RepeatedField` of type
            :obj:`~.Image2D`
    """

    elements = RepeatedField(
        Image2D,
        number=1,
    )

