You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
648 lines
17 KiB
648 lines
17 KiB
1 year ago
|
"""
|
||
|
This type stub file was generated by pyright.
|
||
|
"""
|
||
|
|
||
|
import os
|
||
|
from enum import Enum, IntEnum
|
||
|
from matplotlib import _api, cbook, transforms, widgets
|
||
|
from matplotlib.artist import Artist
|
||
|
from matplotlib.axes import Axes
|
||
|
from matplotlib.backend_managers import ToolManager
|
||
|
from matplotlib.backend_tools import Cursors, ToolBase
|
||
|
from matplotlib.colorbar import Colorbar
|
||
|
from matplotlib.figure import Figure
|
||
|
from matplotlib.font_manager import FontProperties
|
||
|
from matplotlib.path import Path
|
||
|
from matplotlib.texmanager import TexManager
|
||
|
from matplotlib.text import Text
|
||
|
from matplotlib.transforms import Bbox, BboxBase, Transform, TransformedPath
|
||
|
from collections.abc import Callable, Iterable, Sequence
|
||
|
from typing import Any, IO, Literal, NamedTuple, TypeVar
|
||
|
from numpy.typing import ArrayLike
|
||
|
from .typing import CapStyleType, ColorType, JoinStyleType, LineStyleType
|
||
|
|
||
|
def register_backend(format: str, backend: str | type[FigureCanvasBase], description: str | None = ...) -> None:
|
||
|
...
|
||
|
|
||
|
def get_registered_canvas_class(format: str) -> type[FigureCanvasBase]:
|
||
|
...
|
||
|
|
||
|
class RendererBase:
|
||
|
def __init__(self) -> None:
|
||
|
...
|
||
|
|
||
|
def open_group(self, s: str, gid: str | None = ...) -> None:
|
||
|
...
|
||
|
|
||
|
def close_group(self, s: str) -> None:
|
||
|
...
|
||
|
|
||
|
def draw_path(self, gc: GraphicsContextBase, path: Path, transform: Transform, rgbFace: ColorType | None = ...) -> None:
|
||
|
...
|
||
|
|
||
|
def draw_markers(self, gc: GraphicsContextBase, marker_path: Path, marker_trans: Transform, path: Path, trans: Transform, rgbFace: ColorType | None = ...) -> None:
|
||
|
...
|
||
|
|
||
|
def draw_path_collection(self, gc: GraphicsContextBase, master_transform: Transform, paths: Sequence[Path], all_transforms: Sequence[ArrayLike], offsets: ArrayLike | Sequence[ArrayLike], offset_trans: Transform, facecolors: ColorType | Sequence[ColorType], edgecolors: ColorType | Sequence[ColorType], linewidths: float | Sequence[float], linestyles: LineStyleType | Sequence[LineStyleType], antialiaseds: bool | Sequence[bool], urls: str | Sequence[str], offset_position: Any) -> None:
|
||
|
...
|
||
|
|
||
|
def draw_quad_mesh(self, gc: GraphicsContextBase, master_transform: Transform, meshWidth, meshHeight, coordinates: ArrayLike, offsets: ArrayLike | Sequence[ArrayLike], offsetTrans: Transform, facecolors: Sequence[ColorType], antialiased: bool, edgecolors: Sequence[ColorType] | ColorType | None) -> None:
|
||
|
...
|
||
|
|
||
|
def draw_gouraud_triangle(self, gc: GraphicsContextBase, points: ArrayLike, colors: ArrayLike, transform: Transform) -> None:
|
||
|
...
|
||
|
|
||
|
def draw_gouraud_triangles(self, gc: GraphicsContextBase, triangles_array: ArrayLike, colors_array: ArrayLike, transform: Transform) -> None:
|
||
|
...
|
||
|
|
||
|
def get_image_magnification(self) -> float:
|
||
|
...
|
||
|
|
||
|
def draw_image(self, gc: GraphicsContextBase, x: float, y: float, im: ArrayLike, transform: transforms.Affine2DBase | None = ...) -> None:
|
||
|
...
|
||
|
|
||
|
def option_image_nocomposite(self) -> bool:
|
||
|
...
|
||
|
|
||
|
def option_scale_image(self) -> bool:
|
||
|
...
|
||
|
|
||
|
def draw_tex(self, gc: GraphicsContextBase, x: float, y: float, s: str, prop: FontProperties, angle: float, *, mtext: Text | None = ...) -> None:
|
||
|
...
|
||
|
|
||
|
def draw_text(self, gc: GraphicsContextBase, x: float, y: float, s: str, prop: FontProperties, angle: float, ismath: bool | Literal["TeX"] = ..., mtext: Text | None = ...) -> None:
|
||
|
...
|
||
|
|
||
|
def get_text_width_height_descent(self, s: str, prop: FontProperties, ismath: bool | Literal["TeX"]) -> tuple[float, float, float]:
|
||
|
...
|
||
|
|
||
|
def flipy(self) -> bool:
|
||
|
...
|
||
|
|
||
|
def get_canvas_width_height(self) -> tuple[float, float]:
|
||
|
...
|
||
|
|
||
|
def get_texmanager(self) -> TexManager:
|
||
|
...
|
||
|
|
||
|
def new_gc(self) -> GraphicsContextBase:
|
||
|
...
|
||
|
|
||
|
def points_to_pixels(self, points: ArrayLike) -> ArrayLike:
|
||
|
...
|
||
|
|
||
|
def start_rasterizing(self) -> None:
|
||
|
...
|
||
|
|
||
|
def stop_rasterizing(self) -> None:
|
||
|
...
|
||
|
|
||
|
def start_filter(self) -> None:
|
||
|
...
|
||
|
|
||
|
def stop_filter(self, filter_func) -> None:
|
||
|
...
|
||
|
|
||
|
|
||
|
|
||
|
class GraphicsContextBase:
|
||
|
def __init__(self) -> None:
|
||
|
...
|
||
|
|
||
|
def copy_properties(self, gc: GraphicsContextBase) -> None:
|
||
|
...
|
||
|
|
||
|
def restore(self) -> None:
|
||
|
...
|
||
|
|
||
|
def get_alpha(self) -> float:
|
||
|
...
|
||
|
|
||
|
def get_antialiased(self) -> int:
|
||
|
...
|
||
|
|
||
|
def get_capstyle(self) -> Literal["butt", "projecting", "round"]:
|
||
|
...
|
||
|
|
||
|
def get_clip_rectangle(self) -> Bbox | None:
|
||
|
...
|
||
|
|
||
|
def get_clip_path(self) -> tuple[TransformedPath, Transform] | tuple[None, None]:
|
||
|
...
|
||
|
|
||
|
def get_dashes(self) -> tuple[float, ArrayLike | None]:
|
||
|
...
|
||
|
|
||
|
def get_forced_alpha(self) -> bool:
|
||
|
...
|
||
|
|
||
|
def get_joinstyle(self) -> Literal["miter", "round", "bevel"]:
|
||
|
...
|
||
|
|
||
|
def get_linewidth(self) -> float:
|
||
|
...
|
||
|
|
||
|
def get_rgb(self) -> tuple[float, float, float, float]:
|
||
|
...
|
||
|
|
||
|
def get_url(self) -> str | None:
|
||
|
...
|
||
|
|
||
|
def get_gid(self) -> int | None:
|
||
|
...
|
||
|
|
||
|
def get_snap(self) -> bool | None:
|
||
|
...
|
||
|
|
||
|
def set_alpha(self, alpha: float) -> None:
|
||
|
...
|
||
|
|
||
|
def set_antialiased(self, b: bool) -> None:
|
||
|
...
|
||
|
|
||
|
def set_capstyle(self, cs: CapStyleType) -> None:
|
||
|
...
|
||
|
|
||
|
def set_clip_rectangle(self, rectangle: Bbox | None) -> None:
|
||
|
...
|
||
|
|
||
|
def set_clip_path(self, path: TransformedPath | None) -> None:
|
||
|
...
|
||
|
|
||
|
def set_dashes(self, dash_offset: float, dash_list: ArrayLike | None) -> None:
|
||
|
...
|
||
|
|
||
|
def set_foreground(self, fg: ColorType, isRGBA: bool = ...) -> None:
|
||
|
...
|
||
|
|
||
|
def set_joinstyle(self, js: JoinStyleType) -> None:
|
||
|
...
|
||
|
|
||
|
def set_linewidth(self, w: float) -> None:
|
||
|
...
|
||
|
|
||
|
def set_url(self, url: str | None) -> None:
|
||
|
...
|
||
|
|
||
|
def set_gid(self, id: int | None) -> None:
|
||
|
...
|
||
|
|
||
|
def set_snap(self, snap: bool | None) -> None:
|
||
|
...
|
||
|
|
||
|
def set_hatch(self, hatch: str | None) -> None:
|
||
|
...
|
||
|
|
||
|
def get_hatch(self) -> str | None:
|
||
|
...
|
||
|
|
||
|
def get_hatch_path(self, density: float = ...) -> Path:
|
||
|
...
|
||
|
|
||
|
def get_hatch_color(self) -> ColorType:
|
||
|
...
|
||
|
|
||
|
def set_hatch_color(self, hatch_color: ColorType) -> None:
|
||
|
...
|
||
|
|
||
|
def get_hatch_linewidth(self) -> float:
|
||
|
...
|
||
|
|
||
|
def get_sketch_params(self) -> tuple[float, float, float] | None:
|
||
|
...
|
||
|
|
||
|
def set_sketch_params(self, scale: float | None = ..., length: float | None = ..., randomness: float | None = ...) -> None:
|
||
|
...
|
||
|
|
||
|
|
||
|
|
||
|
class TimerBase:
|
||
|
callbacks: list[tuple[Callable, tuple, dict[str, Any]]]
|
||
|
def __init__(self, interval: int | None = ..., callbacks: list[tuple[Callable, tuple, dict[str, Any]]] | None = ...) -> None:
|
||
|
...
|
||
|
|
||
|
def __del__(self) -> None:
|
||
|
...
|
||
|
|
||
|
def start(self, interval: int | None = ...) -> None:
|
||
|
...
|
||
|
|
||
|
def stop(self) -> None:
|
||
|
...
|
||
|
|
||
|
@property
|
||
|
def interval(self) -> int:
|
||
|
...
|
||
|
|
||
|
@interval.setter
|
||
|
def interval(self, interval: int) -> None:
|
||
|
...
|
||
|
|
||
|
@property
|
||
|
def single_shot(self) -> bool:
|
||
|
...
|
||
|
|
||
|
@single_shot.setter
|
||
|
def single_shot(self, ss: bool) -> None:
|
||
|
...
|
||
|
|
||
|
def add_callback(self, func: Callable, *args, **kwargs) -> Callable:
|
||
|
...
|
||
|
|
||
|
def remove_callback(self, func: Callable, *args, **kwargs) -> None:
|
||
|
...
|
||
|
|
||
|
|
||
|
|
||
|
class Event:
|
||
|
name: str
|
||
|
canvas: FigureCanvasBase
|
||
|
def __init__(self, name: str, canvas: FigureCanvasBase, guiEvent: Any | None = ...) -> None:
|
||
|
...
|
||
|
|
||
|
@property
|
||
|
def guiEvent(self) -> Any:
|
||
|
...
|
||
|
|
||
|
|
||
|
|
||
|
class DrawEvent(Event):
|
||
|
renderer: RendererBase
|
||
|
def __init__(self, name: str, canvas: FigureCanvasBase, renderer: RendererBase) -> None:
|
||
|
...
|
||
|
|
||
|
|
||
|
|
||
|
class ResizeEvent(Event):
|
||
|
width: int
|
||
|
height: int
|
||
|
def __init__(self, name: str, canvas: FigureCanvasBase) -> None:
|
||
|
...
|
||
|
|
||
|
|
||
|
|
||
|
class CloseEvent(Event):
|
||
|
...
|
||
|
|
||
|
|
||
|
class LocationEvent(Event):
|
||
|
lastevent: Event | None
|
||
|
x: int
|
||
|
y: int
|
||
|
inaxes: Axes | None
|
||
|
xdata: float | None
|
||
|
ydata: float | None
|
||
|
def __init__(self, name: str, canvas: FigureCanvasBase, x: int, y: int, guiEvent: Any | None = ..., *, modifiers: Iterable[str] | None = ...) -> None:
|
||
|
...
|
||
|
|
||
|
|
||
|
|
||
|
class MouseButton(IntEnum):
|
||
|
LEFT: int
|
||
|
MIDDLE: int
|
||
|
RIGHT: int
|
||
|
BACK: int
|
||
|
FORWARD: int
|
||
|
...
|
||
|
|
||
|
|
||
|
class MouseEvent(LocationEvent):
|
||
|
button: MouseButton | Literal["up", "down"] | None
|
||
|
key: str | None
|
||
|
step: float
|
||
|
dblclick: bool
|
||
|
def __init__(self, name: str, canvas: FigureCanvasBase, x: int, y: int, button: MouseButton | Literal["up", "down"] | None = ..., key: str | None = ..., step: float = ..., dblclick: bool = ..., guiEvent: Any | None = ..., *, modifiers: Iterable[str] | None = ...) -> None:
|
||
|
...
|
||
|
|
||
|
|
||
|
|
||
|
class PickEvent(Event):
|
||
|
mouseevent: MouseEvent
|
||
|
artist: Artist
|
||
|
def __init__(self, name: str, canvas: FigureCanvasBase, mouseevent: MouseEvent, artist: Artist, guiEvent: Any | None = ..., **kwargs) -> None:
|
||
|
...
|
||
|
|
||
|
|
||
|
|
||
|
class KeyEvent(LocationEvent):
|
||
|
key: str | None
|
||
|
def __init__(self, name: str, canvas: FigureCanvasBase, key: str | None, x: int = ..., y: int = ..., guiEvent: Any | None = ...) -> None:
|
||
|
...
|
||
|
|
||
|
|
||
|
|
||
|
class FigureCanvasBase:
|
||
|
required_interactive_framework: str | None
|
||
|
@_api.classproperty
|
||
|
def manager_class(cls) -> type[FigureManagerBase]:
|
||
|
...
|
||
|
|
||
|
events: list[str]
|
||
|
fixed_dpi: None | float
|
||
|
filetypes: dict[str, str]
|
||
|
@_api.classproperty
|
||
|
def supports_blit(cls) -> bool:
|
||
|
...
|
||
|
|
||
|
figure: Figure
|
||
|
manager: None | FigureManagerBase
|
||
|
widgetlock: widgets.LockDraw
|
||
|
mouse_grabber: None | Axes
|
||
|
toolbar: None | NavigationToolbar2
|
||
|
def __init__(self, figure: Figure | None = ...) -> None:
|
||
|
...
|
||
|
|
||
|
@property
|
||
|
def callbacks(self) -> cbook.CallbackRegistry:
|
||
|
...
|
||
|
|
||
|
@property
|
||
|
def button_pick_id(self) -> int:
|
||
|
...
|
||
|
|
||
|
@property
|
||
|
def scroll_pick_id(self) -> int:
|
||
|
...
|
||
|
|
||
|
@classmethod
|
||
|
def new_manager(cls, figure: Figure, num: int | str) -> FigureManagerBase:
|
||
|
...
|
||
|
|
||
|
def is_saving(self) -> bool:
|
||
|
...
|
||
|
|
||
|
def blit(self, bbox: BboxBase | None = ...) -> None:
|
||
|
...
|
||
|
|
||
|
def inaxes(self, xy: tuple[float, float]) -> Axes | None:
|
||
|
...
|
||
|
|
||
|
def grab_mouse(self, ax: Axes) -> None:
|
||
|
...
|
||
|
|
||
|
def release_mouse(self, ax: Axes) -> None:
|
||
|
...
|
||
|
|
||
|
def set_cursor(self, cursor: Cursors) -> None:
|
||
|
...
|
||
|
|
||
|
def draw(self, *args, **kwargs) -> None:
|
||
|
...
|
||
|
|
||
|
def draw_idle(self, *args, **kwargs) -> None:
|
||
|
...
|
||
|
|
||
|
@property
|
||
|
def device_pixel_ratio(self) -> float:
|
||
|
...
|
||
|
|
||
|
def get_width_height(self, *, physical: bool = ...) -> tuple[int, int]:
|
||
|
...
|
||
|
|
||
|
@classmethod
|
||
|
def get_supported_filetypes(cls) -> dict[str, str]:
|
||
|
...
|
||
|
|
||
|
@classmethod
|
||
|
def get_supported_filetypes_grouped(cls) -> dict[str, list[str]]:
|
||
|
...
|
||
|
|
||
|
def print_figure(self, filename: str | os.PathLike | IO, dpi: float | None = ..., facecolor: ColorType | Literal["auto"] | None = ..., edgecolor: ColorType | Literal["auto"] | None = ..., orientation: str = ..., format: str | None = ..., *, bbox_inches: Literal["tight"] | Bbox | None = ..., pad_inches: float | None = ..., bbox_extra_artists: list[Artist] | None = ..., backend: str | None = ..., **kwargs) -> Any:
|
||
|
...
|
||
|
|
||
|
@classmethod
|
||
|
def get_default_filetype(cls) -> str:
|
||
|
...
|
||
|
|
||
|
def get_default_filename(self) -> str:
|
||
|
...
|
||
|
|
||
|
_T = TypeVar("_T", bound=FigureCanvasBase)
|
||
|
def switch_backends(self, FigureCanvasClass: type[_T]) -> _T:
|
||
|
...
|
||
|
|
||
|
def mpl_connect(self, s: str, func: Callable[[Event], Any]) -> int:
|
||
|
...
|
||
|
|
||
|
def mpl_disconnect(self, cid: int) -> None:
|
||
|
...
|
||
|
|
||
|
def new_timer(self, interval: int | None = ..., callbacks: list[tuple[Callable, tuple, dict[str, Any]]] | None = ...) -> TimerBase:
|
||
|
...
|
||
|
|
||
|
def flush_events(self) -> None:
|
||
|
...
|
||
|
|
||
|
def start_event_loop(self, timeout: float = ...) -> None:
|
||
|
...
|
||
|
|
||
|
def stop_event_loop(self) -> None:
|
||
|
...
|
||
|
|
||
|
|
||
|
|
||
|
def key_press_handler(event: KeyEvent, canvas: FigureCanvasBase | None = ..., toolbar: NavigationToolbar2 | None = ...) -> None:
|
||
|
...
|
||
|
|
||
|
def button_press_handler(event: MouseEvent, canvas: FigureCanvasBase | None = ..., toolbar: NavigationToolbar2 | None = ...) -> None:
|
||
|
...
|
||
|
|
||
|
class NonGuiException(Exception):
|
||
|
...
|
||
|
|
||
|
|
||
|
class FigureManagerBase:
|
||
|
canvas: FigureCanvasBase
|
||
|
num: int | str
|
||
|
key_press_handler_id: int | None
|
||
|
button_press_handler_id: int | None
|
||
|
toolmanager: ToolManager | None
|
||
|
toolbar: NavigationToolbar2 | ToolContainerBase | None
|
||
|
def __init__(self, canvas: FigureCanvasBase, num: int | str) -> None:
|
||
|
...
|
||
|
|
||
|
@classmethod
|
||
|
def create_with_canvas(cls, canvas_class: type[FigureCanvasBase], figure: Figure, num: int | str) -> FigureManagerBase:
|
||
|
...
|
||
|
|
||
|
@classmethod
|
||
|
def start_main_loop(cls) -> None:
|
||
|
...
|
||
|
|
||
|
@classmethod
|
||
|
def pyplot_show(cls, *, block: bool | None = ...) -> None:
|
||
|
...
|
||
|
|
||
|
def show(self) -> None:
|
||
|
...
|
||
|
|
||
|
def destroy(self) -> None:
|
||
|
...
|
||
|
|
||
|
def full_screen_toggle(self) -> None:
|
||
|
...
|
||
|
|
||
|
def resize(self, w: int, h: int) -> None:
|
||
|
...
|
||
|
|
||
|
def get_window_title(self) -> str:
|
||
|
...
|
||
|
|
||
|
def set_window_title(self, title: str) -> None:
|
||
|
...
|
||
|
|
||
|
|
||
|
|
||
|
cursors = Cursors
|
||
|
class _Mode(str, Enum):
|
||
|
NONE: str
|
||
|
PAN: str
|
||
|
ZOOM: str
|
||
|
...
|
||
|
|
||
|
|
||
|
class NavigationToolbar2:
|
||
|
toolitems: tuple[tuple[str, ...] | tuple[None, ...], ...]
|
||
|
canvas: FigureCanvasBase
|
||
|
mode: _Mode
|
||
|
def __init__(self, canvas: FigureCanvasBase) -> None:
|
||
|
...
|
||
|
|
||
|
def set_message(self, s: str) -> None:
|
||
|
...
|
||
|
|
||
|
def draw_rubberband(self, event: Event, x0: float, y0: float, x1: float, y1: float) -> None:
|
||
|
...
|
||
|
|
||
|
def remove_rubberband(self) -> None:
|
||
|
...
|
||
|
|
||
|
def home(self, *args) -> None:
|
||
|
...
|
||
|
|
||
|
def back(self, *args) -> None:
|
||
|
...
|
||
|
|
||
|
def forward(self, *args) -> None:
|
||
|
...
|
||
|
|
||
|
def mouse_move(self, event: MouseEvent) -> None:
|
||
|
...
|
||
|
|
||
|
def pan(self, *args) -> None:
|
||
|
...
|
||
|
|
||
|
class _PanInfo(NamedTuple):
|
||
|
button: MouseButton
|
||
|
axes: list[Axes]
|
||
|
cid: int
|
||
|
...
|
||
|
|
||
|
|
||
|
def press_pan(self, event: Event) -> None:
|
||
|
...
|
||
|
|
||
|
def drag_pan(self, event: Event) -> None:
|
||
|
...
|
||
|
|
||
|
def release_pan(self, event: Event) -> None:
|
||
|
...
|
||
|
|
||
|
def zoom(self, *args) -> None:
|
||
|
...
|
||
|
|
||
|
class _ZoomInfo(NamedTuple):
|
||
|
direction: Literal["in", "out"]
|
||
|
start_xy: tuple[float, float]
|
||
|
axes: list[Axes]
|
||
|
cid: int
|
||
|
cbar: Colorbar
|
||
|
...
|
||
|
|
||
|
|
||
|
def press_zoom(self, event: Event) -> None:
|
||
|
...
|
||
|
|
||
|
def drag_zoom(self, event: Event) -> None:
|
||
|
...
|
||
|
|
||
|
def release_zoom(self, event: Event) -> None:
|
||
|
...
|
||
|
|
||
|
def push_current(self) -> None:
|
||
|
...
|
||
|
|
||
|
subplot_tool: widgets.SubplotTool
|
||
|
def configure_subplots(self, *args):
|
||
|
...
|
||
|
|
||
|
def save_figure(self, *args) -> None:
|
||
|
...
|
||
|
|
||
|
def update(self) -> None:
|
||
|
...
|
||
|
|
||
|
def set_history_buttons(self) -> None:
|
||
|
...
|
||
|
|
||
|
|
||
|
|
||
|
class ToolContainerBase:
|
||
|
toolmanager: ToolManager
|
||
|
def __init__(self, toolmanager: ToolManager) -> None:
|
||
|
...
|
||
|
|
||
|
def add_tool(self, tool: ToolBase, group: str, position: int = ...) -> None:
|
||
|
...
|
||
|
|
||
|
def trigger_tool(self, name: str) -> None:
|
||
|
...
|
||
|
|
||
|
def add_toolitem(self, name: str, group: str, position: int, image: str, description: str, toggle: bool) -> None:
|
||
|
...
|
||
|
|
||
|
def toggle_toolitem(self, name: str, toggled: bool) -> None:
|
||
|
...
|
||
|
|
||
|
def remove_toolitem(self, name: str) -> None:
|
||
|
...
|
||
|
|
||
|
def set_message(self, s: str) -> None:
|
||
|
...
|
||
|
|
||
|
|
||
|
|
||
|
class _Backend:
|
||
|
backend_version: str
|
||
|
FigureCanvas: type[FigureCanvasBase] | None
|
||
|
FigureManager: type[FigureManagerBase]
|
||
|
mainloop: None | Callable[[], Any]
|
||
|
@classmethod
|
||
|
def new_figure_manager(cls, num: int | str, *args, **kwargs) -> FigureManagerBase:
|
||
|
...
|
||
|
|
||
|
@classmethod
|
||
|
def new_figure_manager_given_figure(cls, num: int | str, figure: Figure) -> FigureManagerBase:
|
||
|
...
|
||
|
|
||
|
@classmethod
|
||
|
def draw_if_interactive(cls) -> None:
|
||
|
...
|
||
|
|
||
|
@classmethod
|
||
|
def show(cls, *, block: bool | None = ...) -> None:
|
||
|
...
|
||
|
|
||
|
@staticmethod
|
||
|
def export(cls) -> type[_Backend]:
|
||
|
...
|
||
|
|
||
|
|
||
|
|
||
|
class ShowBase(_Backend):
|
||
|
def __call__(self, block: bool | None = ...) -> None:
|
||
|
...
|
||
|
|
||
|
|
||
|
|