"""
gl Fill Mode
"""
from enum import IntEnum
from OpenGL.GL import (
GL_AMBIENT,
GL_AMBIENT_AND_DIFFUSE,
GL_BACK,
GL_DIFFUSE,
GL_FILL,
GL_FRONT,
GL_FRONT_AND_BACK,
GL_LIGHT0,
GL_LIGHT1,
GL_LIGHTING,
GL_LINE,
GL_POINT,
GL_POSITION,
GL_SPECULAR,
)
from OpenGL.raw.GL.VERSION.GL_1_0 import GL_COLOR_MATERIAL, GL_SHININESS
from OpenGL.raw.GL.VERSION.GL_3_0 import GL_CLIP_DISTANCE0, GL_CLIP_DISTANCE1
[docs]
class Selectable:
"""Selectable"""
@classmethod
[docs]
def choices(cls):
return [m.value for m in cls]
@classmethod
[docs]
def from_value(cls, value: int):
return cls(value)
[docs]
class GLLight(Selectable, IntEnum):
"""gl Lighting"""
[docs]
class GLCapability(IntEnum):
"""gl Capability"""
[docs]
COLOR_MATERIAL = GL_COLOR_MATERIAL
[docs]
CLIP_DISTANCE0 = GL_CLIP_DISTANCE0
[docs]
CLIP_DISTANCE1 = GL_CLIP_DISTANCE1
[docs]
class GLColorMaterialMode(IntEnum):
"""gl Color Material Mode"""
[docs]
AMBIENT_AND_DIFFUSE = GL_AMBIENT_AND_DIFFUSE
[docs]
class GLLightParameter(IntEnum):
"""gl Light Parameter"""
[docs]
SHININESS = GL_SHININESS
[docs]
class GLFace(Selectable, IntEnum):
"""gl Face"""
[docs]
FRONT_AND_BACK = GL_FRONT_AND_BACK
[docs]
class GLFillMode(Selectable, IntEnum):
"""gl Fill Mode"""