132 lines
7.5 KiB
Plaintext
132 lines
7.5 KiB
Plaintext
import t, c
|
||
from fltk._types import *
|
||
|
||
# ============================================================
|
||
# fltk/_cfl_draw.vp — cfl_draw.h 的 extern FFI 声明(对接 cfltk C API)
|
||
# ============================================================
|
||
|
||
# 所有函数直接对应 cfltk 生成的 C 符号(extern "C"),链接目标: cfltk2。
|
||
# 类型约定: Fl_* 对象均为不透明指针 (Fl_XxxPtr);const char* → str;
|
||
# 函数指针/void* → bytes(Viper 端传 0/NULL 或不使用)。
|
||
|
||
extern def Fl_set_color_int(c: t.CUInt32T)
|
||
extern def Fl_set_color_rgb(r: t.CUInt8T, g: t.CUInt8T, b: t.CUInt8T)
|
||
extern def Fl_get_color() -> t.CUInt32T
|
||
extern def Fl_push_clip(x: int, y: int, w: int, h: int)
|
||
extern def Fl_push_no_clip()
|
||
extern def Fl_pop_clip()
|
||
extern def Fl_not_clipped(x: int, y: int, w: int, h: int) -> int
|
||
extern def Fl_clip_box(x: int, y: int, w: int, h: int, X: bytes, Y: bytes, W: bytes, H: bytes) -> int
|
||
extern def Fl_restore_clip()
|
||
extern def Fl_set_clip_region(r: bytes)
|
||
extern def Fl_clip_region() -> bytes
|
||
extern def Fl_point(x: int, y: int)
|
||
extern def Fl_line_style(style: int, width: int, dashes: str)
|
||
extern def Fl_rect(x: int, y: int, w: int, h: int)
|
||
extern def Fl_focus_rect(x: int, y: int, w: int, h: int)
|
||
extern def Fl_rect_with_color(x: int, y: int, w: int, h: int, c: t.CUInt32T)
|
||
extern def Fl_rectf(x: int, y: int, w: int, h: int)
|
||
extern def Fl_rectf_with_color(x: int, y: int, w: int, h: int, c: t.CUInt32T)
|
||
extern def Fl_rectf_with_rgb(x: int, y: int, w: int, h: int, r: t.CUInt8T, g: t.CUInt8T, b: t.CUInt8T)
|
||
extern def Fl_line(x: int, y: int, x1: int, y1: int)
|
||
extern def Fl_polyline(x: int, y: int, x1: int, y1: int, x2: int, y2: int)
|
||
extern def Fl_loop(x: int, y: int, x1: int, y1: int, x2: int, y2: int)
|
||
extern def Fl_loop_4sided(x: int, y: int, x1: int, y1: int, x2: int, y2: int, x3: int, y3: int)
|
||
extern def Fl_polygon(x: int, y: int, x1: int, y1: int, x2: int, y2: int)
|
||
extern def Fl_polygon_4sided(x: int, y: int, x1: int, y1: int, x2: int, y2: int, x3: int, y3: int)
|
||
extern def Fl_xyline(x: int, y: int, x1: int)
|
||
extern def Fl_xyline2(x: int, y: int, x1: int, y2: int)
|
||
extern def Fl_xyline3(x: int, y: int, x1: int, y2: int, x3: int)
|
||
extern def Fl_yxline(x: int, y: int, y1: int)
|
||
extern def Fl_yxline2(x: int, y: int, y1: int, x2: int)
|
||
extern def Fl_yxline3(x: int, y: int, y1: int, x2: int, y3: int)
|
||
extern def Fl_arc(x: int, y: int, w: int, h: int, a1: t.CDouble, a2: t.CDouble)
|
||
extern def Fl_pie(x: int, y: int, w: int, h: int, a1: t.CDouble, a2: t.CDouble)
|
||
extern def Fl_push_matrix()
|
||
extern def Fl_pop_matrix()
|
||
extern def Fl_scale_xy(x: t.CDouble, y: t.CDouble)
|
||
extern def Fl_scale(x: t.CDouble)
|
||
extern def Fl_translate(x: t.CDouble, y: t.CDouble)
|
||
extern def Fl_rotate(d: t.CDouble)
|
||
extern def Fl_mult_matrix(a: t.CDouble, b: t.CDouble, c: t.CDouble, d: t.CDouble, x: t.CDouble, y: t.CDouble)
|
||
extern def Fl_begin_points()
|
||
extern def Fl_begin_line()
|
||
extern def Fl_begin_loop()
|
||
extern def Fl_begin_polygon()
|
||
extern def Fl_vertex(x: t.CDouble, y: t.CDouble)
|
||
extern def Fl_curve(X0: t.CDouble, Y0: t.CDouble, X1: t.CDouble, Y1: t.CDouble, X2: t.CDouble, Y2: t.CDouble, X3: t.CDouble, Y3: t.CDouble)
|
||
extern def Fl_arc_with_radius(x: t.CDouble, y: t.CDouble, r: t.CDouble, start: t.CDouble, end: t.CDouble)
|
||
extern def Fl_circle(x: t.CDouble, y: t.CDouble, r: t.CDouble)
|
||
extern def Fl_draw_circle(x: int, y: int, d: int, c: t.CUInt32T)
|
||
extern def Fl_end_points()
|
||
extern def Fl_end_line()
|
||
extern def Fl_end_loop()
|
||
extern def Fl_end_polygon()
|
||
extern def Fl_begin_complex_polygon()
|
||
extern def Fl_gap()
|
||
extern def Fl_end_complex_polygon()
|
||
extern def Fl_transform_x(x: t.CDouble, y: t.CDouble) -> t.CDouble
|
||
extern def Fl_transform_y(x: t.CDouble, y: t.CDouble) -> t.CDouble
|
||
extern def Fl_transform_dx(x: t.CDouble, y: t.CDouble) -> t.CDouble
|
||
extern def Fl_transform_dy(x: t.CDouble, y: t.CDouble) -> t.CDouble
|
||
extern def Fl_transformed_vertex(xf: t.CDouble, yf: t.CDouble)
|
||
extern def Fl_end_offscreen()
|
||
extern def Fl_set_draw_font(face: int, fsize: int)
|
||
extern def Fl_font() -> int
|
||
extern def Fl_size() -> int
|
||
extern def Fl_height() -> int
|
||
extern def Fl_set_height(font: int, size: int) -> int
|
||
extern def Fl_descent() -> int
|
||
extern def Fl_width(txt: str, n: int) -> t.CDouble
|
||
extern def Fl_char_width(c: t.CUInt32T) -> t.CDouble
|
||
extern def Fl_text_extents(a0: str, dx: bytes, dy: bytes, w: bytes, h: bytes)
|
||
extern def Fl_text_extents_n(t: str, n: int, dx: bytes, dy: bytes, w: bytes, h: bytes)
|
||
extern def Fl_latin1_to_local(t: str, n: int) -> str
|
||
extern def Fl_local_to_latin1(t: str, n: int) -> str
|
||
extern def Fl_mac_roman_to_local(t: str, n: int) -> str
|
||
extern def Fl_local_to_mac_roman(t: str, n: int) -> str
|
||
extern def Fl_draw(str_: str, x: int, y: int)
|
||
extern def Fl_draw_text_angled(angle: int, str_: str, x: int, y: int)
|
||
extern def Fl_draw_text_n(str_: str, n: int, x: int, y: int)
|
||
extern def Fl_draw_text_angled_n(angle: int, str_: str, n: int, x: int, y: int)
|
||
extern def Fl_rtl_draw(str_: str, n: int, x: int, y: int)
|
||
extern def Fl_measure(str_: str, x: bytes, y: bytes, draw_symbols: int)
|
||
extern def Fl_draw5(str_: str, x: int, y: int, w: int, h: int, align: int, img: bytes, draw_symbols: int)
|
||
extern def Fl_frame(s: str, x: int, y: int, w: int, h: int)
|
||
extern def Fl_frame2(s: str, x: int, y: int, w: int, h: int)
|
||
extern def Fl_draw_box(box_type: int, x: int, y: int, w: int, h: int, a5: t.CUInt32T)
|
||
extern def Fl_draw_image(buf: bytes, X: int, Y: int, W: int, H: int, D: int, L: int)
|
||
extern def Fl_draw_image_mono(buf: bytes, X: int, Y: int, W: int, H: int, D: int, L: int)
|
||
extern def Fl_can_do_alpha_blending() -> t.CChar
|
||
extern def Fl_read_image(p: bytes, X: int, Y: int, W: int, H: int, alpha: int) -> bytes
|
||
extern def Fl_capture_window_part(win: bytes, x: int, y: int, w: int, h: int) -> bytes
|
||
extern def Fl_draw_pixmap(data: bytes, x: int, y: int, bg: int) -> int
|
||
extern def Fl_draw_pixmap2(data: bytes, x: int, y: int, bg: int) -> int
|
||
extern def Fl_measure_pixmap(data: bytes, w: bytes, h: bytes) -> int
|
||
extern def Fl_measure_pixmap2(cdata: bytes, w: bytes, h: bytes) -> int
|
||
extern def Fl_shortcut_label(shortcut: t.CUInt32T) -> str
|
||
extern def Fl_shortcut_label2(shortcut: t.CUInt32T, eom: bytes) -> str
|
||
extern def Fl_old_shortcut(s: str) -> t.CUInt32T
|
||
extern def Fl_overlay_rect(x: int, y: int, w: int, h: int)
|
||
extern def Fl_overlay_clear()
|
||
extern def Fl_set_cursor(cursor: int)
|
||
extern def Fl_set_cursor_with_color(cursor: int, fg: int, bg: int)
|
||
extern def Fl_expand_text(from_: str, buf: str, maxbuf: int, maxw: t.CDouble, n: bytes, width: bytes, wrap: int, draw_symbols: int) -> str
|
||
extern def Fl_set_status(X: int, Y: int, W: int, H: int)
|
||
extern def Fl_set_spot(font: int, size: int, X: int, Y: int, W: int, H: int, win: bytes)
|
||
extern def Fl_reset_spot()
|
||
extern def Fl_show_colormap(old_col: t.CUInt32T) -> t.CUInt32T
|
||
extern def Fl_copy_offscreen(x: int, y: int, w: int, h: int, pixmap: bytes, srcx: int, srcy: int)
|
||
extern def Fl_create_offscreen(w: int, h: int) -> bytes
|
||
extern def Fl_begin_offscreen(b: bytes)
|
||
extern def Fl_end_offscreen()
|
||
extern def Fl_delete_offscreen(bitmap: bytes)
|
||
extern def Fl_rescale_offscreen(ctx: bytes)
|
||
extern def Fl_draw_text_boxed(str_: str, x: int, y: int, w: int, h: int, align: int)
|
||
extern def Fl_draw_check(x: int, y: int, w: int, h: int, col: t.CUInt32T)
|
||
extern def Fl_add_symbol(name: str, cb1: bytes, scalable: int) -> int
|
||
extern def Fl_rounded_rect(x: int, y: int, w: int, h: int, r: int)
|
||
extern def Fl_rounded_rectf(x: int, y: int, w: int, h: int, r: int)
|
||
extern def Fl_override_scale() -> t.CFloat
|
||
extern def Fl_restore_scale(s: t.CFloat)
|