Enumeration of available filter types
NONE: Any = 'none'
VIGNETTE: Any = 'vignette'
BLUR: Any = 'blur'
SEPIA: Any = 'sepia'
GRAYSCALE: Any = 'grayscale'
INVERT: Any = 'invert'
TEMPERATURE_WARM: Any = 'temperature_warm'
TEMPERATURE_COLD: Any = 'temperature_cold'
NIGHT_VISION: Any = 'night_vision'
CRT: Any = 'crt'
PIXELATE: Any = 'pixelate'
BLOOM: Any = 'bloom'
EDGE_DETECT: Any = 'edge_detect'
EMBOSS: Any = 'emboss'
SHARPEN: Any = 'sharpen'
POSTERIZE: Any = 'posterize'
NEON: Any = 'neon'
RADIAL_BLUR: Any = 'radial_blur'
FISHEYE: Any = 'fisheye'
TWIRL: Any = 'twirl'
No methods defined.
Enumeration of filter region shapes
FULLSCREEN: Any = 'fullscreen'
RECTANGLE: Any = 'rectangle'
CIRCLE: Any = 'circle'
No methods defined.
Simple filter class with all parameters
def __init__(self: Any, filter_type: FilterType = FilterType.NONE, intensity: float = 1.0, region_type: FilterRegionType = FilterRegionType.FULLSCREEN, region_pos: Tuple[float, float] = (0, 0), region_size: Tuple[float, float] = (100, 100), radius: float = 50.0, feather: float = 10.0, blend_mode: str = 'normal') -> Any
def update(self: Any, dt: float) -> Any
def copy(self: Any) -> 'Filter'
Generic shader program for 2D rendering with caching
def __init__(self: Any, vertex_source: Any, fragment_source: Any) -> Any
def _get_uniform_location(self: Any, name: Any) -> Any
def _create_shaders(self: Any, vertex_source: Any, fragment_source: Any) -> Any
OPTIMIZED shader for particle rendering with instancing
def __init__(self: Any) -> Any
def _setup_geometry(self: Any) -> Any
Simple shader for solid color rendering
def __init__(self: Any) -> Any
def _setup_geometry(self: Any) -> Any
Shader for textured rendering
def __init__(self: Any) -> Any
def _setup_geometry(self: Any) -> Any
Shader for applying post-processing filters
def __init__(self: Any) -> Any
def _setup_geometry(self: Any) -> Any
Shader for drawing rectangles with per-corner rounded corners
def __init__(self: Any) -> Any
def _setup_geometry(self: Any) -> Any
No documentation
camera_position: pygame.math.Vector2 = pygame.math.Vector2(0, 0)
def __init__(self: Any, width: int, height: int) -> Any
def max_particles(self: Any) -> int
def max_particles(self: Any, value: int) -> Any
def initialize(self: Any) -> Any
def _initialize_filter_framebuffer(self: Any) -> Any
def add_filter(self: Any, filter_obj: Filter) -> Any
def remove_filter(self: Any, filter_obj: Filter) -> Any
def clear_filters(self: Any) -> Any
def create_quick_filter(self: Any, filter_type: FilterType, intensity: float = 1.0, x: float = 0, y: float = 0, width: float = None, height: float = None, radius: float = 50.0, feather: float = 10.0) -> Filter
def apply_vignette(self: Any, intensity: float = 0.7, feather: float = 100.0) -> Filter
def apply_blur(self: Any, intensity: float = 0.5, x: float = 0, y: float = 0, width: float = None, height: float = None) -> Filter
def apply_sepia(self: Any, intensity: float = 1.0) -> Filter
def apply_grayscale(self: Any, intensity: float = 1.0) -> Filter
def apply_invert(self: Any, intensity: float = 1.0) -> Filter
def apply_warm_temperature(self: Any, intensity: float = 0.5) -> Filter
def apply_cold_temperature(self: Any, intensity: float = 0.5) -> Filter
def apply_night_vision(self: Any, intensity: float = 0.9) -> Filter
def apply_crt_effect(self: Any, intensity: float = 0.8) -> Filter
def apply_pixelate(self: Any, intensity: float = 0.7) -> Filter
def apply_bloom(self: Any, intensity: float = 0.5) -> Filter
def apply_edge_detect(self: Any, intensity: float = 0.8) -> Filter
def apply_emboss(self: Any, intensity: float = 0.7) -> Filter
def apply_sharpen(self: Any, intensity: float = 0.5) -> Filter
def apply_posterize(self: Any, intensity: float = 0.6) -> Filter
def apply_neon(self: Any, intensity: float = 0.7) -> Filter
def apply_radial_blur(self: Any, intensity: float = 0.5) -> Filter
def apply_fisheye(self: Any, intensity: float = 0.4) -> Filter
def apply_twirl(self: Any, intensity: float = 0.3) -> Filter
def apply_circular_grayscale(self: Any, center_x: float, center_y: float, radius: float = 100.0, intensity: float = 1.0) -> Filter
def apply_rectangular_blur(self: Any, x: float, y: float, width: float, height: float, intensity: float = 0.5) -> Filter
def begin_frame(self: Any) -> Any
def end_frame(self: Any) -> Any
def _apply_filters(self: Any) -> Any
def get_surface(self: Any) -> pygame.Surface
def set_surface(self: Any, surface: pygame.Surface) -> Any
def _surface_to_texture(self: Any, surface: pygame.Surface) -> int
def _convert_color(self: Any, color: Tuple[int, int, int, float]) -> Tuple[float, float, float, float]
def _ensure_particle_capacity(self: Any, required_count: int) -> Any
def enable_scissor(self: Any, x: int, y: int, width: int, height: int) -> Any
def disable_scissor(self: Any) -> Any
def draw_rect(self: Any, x: int, y: int, width: int, height: int, color: tuple, fill: bool = True, anchor_point: tuple = (0.0, 0.0), border_width: int = 1, surface: Optional[pygame.Surface] = None, corner_radius: Tuple[int, int, int, int] | int = 0) -> Any
def _draw_sharp_rect(self: Any, x: int, y: int, width: int, height: int, color: tuple, fill: bool, border_width: int) -> Any
def _draw_rounded_rect(self: Any, x: int, y: int, width: int, height: int, color: tuple, fill: bool, border_width: int, corner_radii: Tuple[int, int, int, int]) -> Any
def draw_line(self: Any, start_x: int, start_y: int, end_x: int, end_y: int, color: tuple, width: int = 2, surface: Optional[pygame.Surface] = None) -> Any
def draw_lines(self: Any, points: List[Tuple[Tuple[int, int], Tuple[int, int]]], color: Tuple[int, int, int, float] | Tuple[int, int, int], width: int = 2, surface: Optional[pygame.Surface] = None) -> Any
def draw_text(self: Any, text: str, x: int, y: int, color: tuple, font: pygame.font.FontType, surface: Optional[pygame.Surface] = None, anchor_point: Optional[Tuple[int, int]] = (0.0, 0.0)) -> Any
def _draw_thick_line_optimized(self: Any, start_x: int, start_y: int, end_x: int, end_y: int, color: tuple, width: int) -> Any
def draw_circle(self: Any, center_x: int, center_y: int, radius: int, color: tuple, fill: bool = True, border_width: int = 1, surface: Optional[pygame.Surface] = None, anchor_point: Tuple[float, float] = (0.5, 0.5)) -> Any
def _generate_filled_circle_geometry(self: Any, segments: int) -> Any
def _generate_hollow_circle_geometry(self: Any, segments: int, border_width: int, radius: int) -> Any
def draw_polygon(self: Any, points: List[Tuple[int, int]], color: tuple, fill: bool = True, border_width: int = 1, surface: Optional[pygame.Surface] = None, anchor_point: Tuple[float, float] = (0.0, 0.0)) -> Any
def _generate_filled_polygon_geometry(self: Any, points: List[Tuple[int, int]]) -> Any
def _generate_hollow_polygon_geometry(self: Any, points: List[Tuple[int, int]], border_width: int) -> Any
def _upload_geometry(self: Any, vertices: np.ndarray, indices: np.ndarray) -> Any
def render_opengl(self: Any, renderer: Any) -> Any
def draw_surface(self: Any, surface: pygame.Surface, x: int, y: int) -> Any
def render_surface(self: Any, surface: pygame.Surface, x: int, y: int) -> Any
def render_particles(self: Any, particle_data: Dict[str, Any], camera: 'Camera') -> Any
def blit(self: Any, source_surface: pygame.Surface, dest_rect: pygame.Rect, area: Optional[pygame.Rect] = None, special_flags: int = 0) -> Any
def blit_surface(self: Any, source_surface: pygame.Surface, dest_pos: Tuple[int, int], area: Optional[pygame.Rect] = None) -> Any
def fill_screen(self: Any, color: Tuple[int, int, int, float]) -> Any
def cleanup(self: Any) -> Any