picogl.backend.gl.driver.raster =============================== .. py:module:: picogl.backend.gl.driver.raster .. autoapi-nested-parse:: GLRaster Driver Cached write-only raster state. Imperative setters implement gl calls; `apply(RasterState)` diffs frozen snapshots and is the preferred API. Classes ------- .. autoapisummary:: picogl.backend.gl.driver.raster.GLRasterDriver Functions --------- .. autoapisummary:: picogl.backend.gl.driver.raster.resolve_polygon_mode_args picogl.backend.gl.driver.raster._gl_set_polygon_mode picogl.backend.gl.driver.raster.shared_raster_driver Module Contents --------------- .. py:function:: resolve_polygon_mode_args(*args: Any) -> tuple[Any, Any] Normalize set_polygon_mode overloads to (face, mode). .. py:function:: _gl_set_polygon_mode(face_val: int, mode_val: int) -> None Issue a raw glPolygonMode call without touching driver cache. .. py:class:: GLRasterDriver Bases: :py:obj:`picogl.backend.gl.driver.applyable.Applyable` Fixed-function raster state with write-only gl and cached current values. .. py:attribute:: _shared :type: Optional[GLRasterDriver] :value: None .. py:method:: shared() -> GLRasterDriver | None :classmethod: Process-wide raster driver for legacy class-level call sites. .. py:method:: _is_same(old, new) -> bool .. py:attribute:: _line_width :type: float :value: 1.0 .. py:attribute:: _polygon_mode :type: tuple[int, int] .. py:attribute:: _point_size :type: Optional[float] :value: None .. py:attribute:: _polygon_offset :type: tuple[float, float] :value: (0.0, 0.0) .. py:attribute:: _point_size_range :type: Optional[tuple[float, float]] :value: None .. py:attribute:: _current :type: Optional[picogl.backend.state.RasterState] :value: None .. py:method:: set_line_width(width: float) -> None .. py:method:: get_line_width() -> float .. py:method:: set_point_size(size: float) -> None .. py:method:: get_point_size_range() -> tuple[float, float] | None .. py:method:: set_clamped_point_size(size: float) -> None .. py:method:: get_polygon_mode() Return cached front/back polygon modes (same shape as glGetIntegerv(GL_POLYGON_MODE)). .. py:method:: set_polygon_offset(factor: float, units: float) -> None .. py:method:: set_polygon_mode(*args) -> None .. py:method:: _do_apply(state: picogl.backend.state.RasterState, prev: picogl.backend.state.RasterState) .. py:function:: shared_raster_driver() -> GLRasterDriver | None Backward-compatible alias for :meth:`GLRasterDriver.shared`.