You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
89 lines
2.4 KiB
Cython
89 lines
2.4 KiB
Cython
1 year ago
|
from libcpp cimport bool
|
||
|
from libc.stdint cimport uint8_t, uint32_t
|
||
|
|
||
|
########################
|
||
|
### External classes ###
|
||
|
########################
|
||
|
|
||
|
cdef extern from "canvas.h" namespace "rgb_matrix":
|
||
|
cdef cppclass Canvas:
|
||
|
int width()
|
||
|
int height()
|
||
|
void SetPixel(int, int, uint8_t, uint8_t, uint8_t) nogil
|
||
|
void Clear() nogil
|
||
|
void Fill(uint8_t, uint8_t, uint8_t) nogil
|
||
|
|
||
|
cdef extern from "led-matrix.h" namespace "rgb_matrix":
|
||
|
cdef cppclass RGBMatrix(Canvas):
|
||
|
bool SetPWMBits(uint8_t)
|
||
|
uint8_t pwmbits()
|
||
|
void set_luminance_correct(bool)
|
||
|
bool luminance_correct()
|
||
|
void SetBrightness(uint8_t)
|
||
|
uint8_t brightness()
|
||
|
FrameCanvas *CreateFrameCanvas()
|
||
|
FrameCanvas *SwapOnVSync(FrameCanvas*, uint8_t)
|
||
|
|
||
|
cdef cppclass FrameCanvas(Canvas):
|
||
|
bool SetPWMBits(uint8_t)
|
||
|
uint8_t pwmbits()
|
||
|
void SetBrightness(uint8_t)
|
||
|
uint8_t brightness()
|
||
|
|
||
|
struct RuntimeOptions:
|
||
|
RuntimeOptions() except +
|
||
|
int gpio_slowdown
|
||
|
int daemon
|
||
|
int drop_privileges
|
||
|
|
||
|
|
||
|
RGBMatrix *CreateMatrixFromOptions(Options &options, RuntimeOptions runtime_options)
|
||
|
|
||
|
|
||
|
|
||
|
cdef extern from "led-matrix.h" namespace "rgb_matrix::RGBMatrix":
|
||
|
cdef struct Options:
|
||
|
Options() except +
|
||
|
|
||
|
const char *hardware_mapping
|
||
|
|
||
|
int rows
|
||
|
int cols
|
||
|
int chain_length
|
||
|
int parallel
|
||
|
int pwm_bits
|
||
|
int pwm_lsb_nanoseconds
|
||
|
int brightness
|
||
|
int scan_mode
|
||
|
int row_address_type
|
||
|
int multiplexing
|
||
|
int pwm_dither_bits
|
||
|
int limit_refresh_rate_hz
|
||
|
|
||
|
bool disable_hardware_pulsing
|
||
|
bool show_refresh_rate
|
||
|
bool inverse_colors
|
||
|
|
||
|
const char *led_rgb_sequence
|
||
|
const char *pixel_mapper_config
|
||
|
const char *panel_type
|
||
|
|
||
|
cdef extern from "graphics.h" namespace "rgb_matrix":
|
||
|
cdef struct Color:
|
||
|
Color(uint8_t, uint8_t, uint8_t) except +
|
||
|
uint8_t r
|
||
|
uint8_t g
|
||
|
uint8_t b
|
||
|
|
||
|
cdef cppclass Font:
|
||
|
Font() except +
|
||
|
bool LoadFont(const char*)
|
||
|
int height()
|
||
|
int baseline()
|
||
|
int CharacterWidth(uint32_t)
|
||
|
int DrawGlyph(Canvas*, int, int, const Color, uint32_t);
|
||
|
|
||
|
cdef int DrawText(Canvas*, const Font, int, int, const Color, const char*)
|
||
|
cdef void DrawCircle(Canvas*, int, int, int, const Color)
|
||
|
cdef void DrawLine(Canvas*, int, int, int, int, const Color)
|