from typing import Any

PORTRAIT: Any
LANDSCAPE: Any
PORTRAIT_UPSIDEDOWN: Any
LANDSCAPE_UPSIDEDOWN: Any
STARTUP_DECO_NONE: Any
STARTUP_DECO_MLOGO: Any
STARTUP_DECO_INFO: Any
_uart_baud_table: Any

class LCD160CR:
    pwr: Any
    i2c: Any
    spi: Any
    i2c_addr: Any
    buf16: Any
    buf19: Any
    buf: Any
    buf1: Any
    array4: Any
    def __init__(
        self, connect: Any | None = ..., *, pwr: Any | None = ..., i2c: Any | None = ..., spi: Any | None = ..., i2c_addr: int = ...
    ) -> None: ...
    def _send(self, cmd) -> None: ...
    def _fcmd2(self, fmt, a0, a1: int = ..., a2: int = ...) -> None: ...
    def _fcmd2b(self, fmt, a0, a1, a2, a3, a4: int = ...) -> None: ...
    def _waitfor(self, n, buf) -> None: ...
    def oflush(self, n: int = ...) -> None: ...
    def iflush(self) -> None: ...
    @staticmethod
    def rgb(r, g, b): ...
    @staticmethod
    def clip_line(c, w, h): ...
    def set_power(self, on) -> None: ...
    w: Any
    h: Any
    def set_orient(self, orient) -> None: ...
    def set_brightness(self, value) -> None: ...
    def set_i2c_addr(self, addr) -> None: ...
    def set_uart_baudrate(self, baudrate) -> None: ...
    def set_startup_deco(self, value) -> None: ...
    def save_to_flash(self) -> None: ...
    def set_pixel(self, x, y, c) -> None: ...
    def get_pixel(self, x, y): ...
    def get_line(self, x, y, buf) -> None: ...
    def screen_dump(self, buf, x: int = ..., y: int = ..., w: Any | None = ..., h: Any | None = ...) -> None: ...
    def screen_load(self, buf) -> None: ...
    def set_pos(self, x, y) -> None: ...
    def set_text_color(self, fg, bg) -> None: ...
    def set_font(self, font, scale: int = ..., bold: int = ..., trans: int = ..., scroll: int = ...) -> None: ...
    def write(self, s) -> None: ...
    def set_pen(self, line, fill) -> None: ...
    def erase(self) -> None: ...
    def dot(self, x, y) -> None: ...
    def rect(self, x, y, w, h, cmd: int = ...) -> None: ...
    def rect_outline(self, x, y, w, h) -> None: ...
    def rect_interior(self, x, y, w, h) -> None: ...
    def line(self, x1, y1, x2, y2) -> None: ...
    def dot_no_clip(self, x, y) -> None: ...
    def rect_no_clip(self, x, y, w, h) -> None: ...
    def rect_outline_no_clip(self, x, y, w, h) -> None: ...
    def rect_interior_no_clip(self, x, y, w, h) -> None: ...
    def line_no_clip(self, x1, y1, x2, y2) -> None: ...
    def poly_dot(self, data) -> None: ...
    def poly_line(self, data) -> None: ...
    def touch_config(self, calib: bool = ..., save: bool = ..., irq: Any | None = ...) -> None: ...
    def is_touched(self): ...
    def get_touch(self): ...
    def set_spi_win(self, x, y, w, h) -> None: ...
    def fast_spi(self, flush: bool = ...): ...
    def show_framebuf(self, buf) -> None: ...
    def set_scroll(self, on) -> None: ...
    def set_scroll_win(
        self, win, x: int = ..., y: int = ..., w: int = ..., h: int = ..., vec: int = ..., pat: int = ..., fill: int = ..., color: int = ...
    ) -> None: ...
    def set_scroll_win_param(self, win, param, value) -> None: ...
    def set_scroll_buf(self, s) -> None: ...
    def jpeg_start(self, l) -> None: ...
    def jpeg_data(self, buf) -> None: ...
    def jpeg(self, buf) -> None: ...
    def feed_wdt(self) -> None: ...
    def reset(self) -> None: ...
