import t, c from fltk._types import * # ============================================================ # fltk/_cfl.vp — cfl.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_run() -> int extern def Fl_check() -> int extern def Fl_ready() -> int extern def Fl_reload_scheme() -> int extern def Fl_menu_linespacing() -> int extern def Fl_set_menu_linespacing(H: int) extern def Fl_lock() -> int extern def Fl_unlock() extern def Fl_awake_callback(handler: bytes, data: bytes) -> int extern def Fl_awake() extern def Fl_set_scrollbar_size(a0: int) extern def Fl_scrollbar_size() -> int extern def Fl_event() -> int extern def Fl_event_key() -> int extern def Fl_event_original_key() -> int extern def Fl_event_key_down(a0: int) -> int extern def Fl_event_text() -> str extern def Fl_event_button() -> int extern def Fl_event_clicks() -> int extern def Fl_event_x() -> int extern def Fl_event_y() -> int extern def Fl_event_x_root() -> int extern def Fl_event_y_root() -> int extern def Fl_event_dx() -> int extern def Fl_event_dy() -> int extern def Fl_get_mouse(a0: bytes, a1: bytes) extern def Fl_event_is_click() -> int extern def Fl_event_length() -> int extern def Fl_event_state() -> int extern def Fl_w() -> int extern def Fl_h() -> int extern def Fl_screen_x() -> int extern def Fl_screen_y() -> int extern def Fl_screen_h() -> int extern def Fl_screen_w() -> int extern def Fl_compose(del_: bytes) -> int extern def Fl_compose_reset() extern def Fl_compose_state() -> int extern def Fl_copy(stuff: str, len_: int, destination: int) extern def Fl_paste_text(a0: Fl_WidgetPtr, src: int) extern def Fl_paste_image(widget: Fl_WidgetPtr, src: int) extern def Fl_set_scheme(scheme: str) -> int extern def Fl_scheme() -> int extern def Fl_scheme_string() -> str extern def Fl_visible_focus() -> int extern def Fl_set_visible_focus(a0: int) extern def Fl_set_box_type(a0: int, a1: int) extern def Fl_box_shadow_width() -> int extern def Fl_set_box_shadow_width(W: int) extern def Fl_box_border_radius_max() -> int extern def Fl_set_box_border_radius_max(R: int) extern def Fl_get_rgb_color(r: t.CUInt8T, g: t.CUInt8T, b: t.CUInt8T) -> t.CUInt32T extern def Fl_set_color(c: t.CUInt32T, r: t.CUInt8T, g: t.CUInt8T, b: t.CUInt8T) extern def Fl_set_color_with_alpha(c: t.CUInt32T, r: t.CUInt8T, g: t.CUInt8T, b: t.CUInt8T, a: t.CUInt8T) extern def Fl_get_font(idx: int) -> str extern def Fl_get_font_name(idx: int) -> str extern def Fl_get_font_name_with_attr(idx: int, attributes: bytes) -> str extern def Fl_get_font_sizes(font: int, sizep: bytes) -> int extern def Fl_set_fonts(c: str) -> int extern def Fl_set_font(a0: int, a1: int) extern def Fl_set_font_by_name(a0: int, a1: str) extern def Fl_set_font_size(a0: int) extern def Fl_font_size() -> int extern def Fl_add_handler(cb0: bytes) extern def Fl_wait() -> int extern def Fl_wait_for(a0: t.CDouble) -> t.CDouble extern def Fl_add_timeout(t: t.CDouble, cb1: bytes, a2: bytes) extern def Fl_repeat_timeout(t: t.CDouble, cb1: bytes, a2: bytes) extern def Fl_remove_timeout(cb0: bytes, a1: bytes) extern def Fl_has_timeout(cb0: bytes, a1: bytes) -> int extern def Fl_dnd() -> int extern def Fl_grab() -> bytes extern def Fl_set_grab(a0: bytes) extern def Fl_first_window() -> bytes extern def Fl_next_window(a0: bytes) -> bytes extern def Fl_modal() -> bytes extern def Fl_should_program_quit() -> int extern def Fl_program_should_quit(flag: int) extern def Fl_event_inside(a0: int, a1: int, a2: int, a3: int) -> int extern def Fl_belowmouse() -> Fl_WidgetPtr extern def Fl_set_belowmouse(w: Fl_WidgetPtr) extern def Fl_delete_widget(w: Fl_WidgetPtr) extern def Fl_Widget_Tracker_new(w: Fl_WidgetPtr) -> Fl_Widget_TrackerPtr extern def Fl_Widget_Tracker_deleted(self: Fl_Widget_TrackerPtr) -> int extern def Fl_Widget_Tracker_delete(self: Fl_Widget_TrackerPtr) extern def Fl_init_all() extern def Fl_redraw() extern def Fl_event_shift() -> int extern def Fl_event_ctrl() -> int extern def Fl_event_command() -> int extern def Fl_event_alt() -> int extern def Fl_set_damage(flag: int) extern def Fl_damage() -> int extern def Fl_visual(a0: int) -> int extern def Fl_own_colormap() extern def Fl_pushed() -> Fl_WidgetPtr extern def Fl_focus() -> Fl_WidgetPtr extern def Fl_set_focus(a0: bytes) extern def Fl_version() -> t.CDouble extern def Fl_api_version() -> int extern def Fl_abi_version() -> int extern def Fl_load_font(path: str) -> int extern def Fl_unload_font(path: str) extern def Fl_foreground(r: t.CUInt8T, g: t.CUInt8T, b: t.CUInt8T) extern def Fl_background(r: t.CUInt8T, g: t.CUInt8T, b: t.CUInt8T) extern def Fl_background2(r: t.CUInt8T, g: t.CUInt8T, b: t.CUInt8T) extern def Fl_selection_color(r: t.CUInt8T, g: t.CUInt8T, b: t.CUInt8T) extern def Fl_inactive_color(r: t.CUInt8T, g: t.CUInt8T, b: t.CUInt8T) extern def Fl_get_system_colors() extern def Fl_handle(a0: int, a1: bytes) -> int extern def Fl_handle_(a0: int, a1: bytes) -> int extern def Fl_add_idle(cb0: bytes, a1: bytes) extern def Fl_has_idle(cb0: bytes, a1: bytes) -> int extern def Fl_remove_idle(cb0: bytes, a1: bytes) extern def Fl_add_check(cb0: bytes, a1: bytes) extern def Fl_has_check(cb0: bytes, a1: bytes) -> int extern def Fl_remove_check(cb0: bytes, a1: bytes) extern def Fl_flush() extern def Fl_set_screen_scale(n: int, val: t.CFloat) extern def Fl_screen_scale(n: int) -> t.CFloat extern def Fl_screen_scaling_supported() -> int extern def Fl_screen_count() -> int extern def Fl_screen_num(x: int, y: int) -> int extern def Fl_screen_num_inside(x: int, y: int, w: int, h: int) -> int extern def Fl_screen_xywh(X: bytes, Y: bytes, W: bytes, H: bytes, n: int) extern def Fl_screen_xywh_at(X: bytes, Y: bytes, W: bytes, H: bytes, mx: int, my: int) extern def Fl_screen_xywh_inside(X: bytes, Y: bytes, W: bytes, H: bytes, mx: int, my: int, mw: int, mh: int) extern def Fl_screen_xywh_mouse(X: bytes, Y: bytes, W: bytes, H: bytes) extern def Fl_screen_dpi(h: bytes, v: bytes, n: int) extern def Fl_screen_work_area(X: bytes, Y: bytes, W: bytes, H: bytes, n: int) extern def Fl_screen_work_area_at(X: bytes, Y: bytes, W: bytes, H: bytes, mx: int, my: int) extern def Fl_screen_work_area_mouse(X: bytes, Y: bytes, W: bytes, H: bytes) extern def Fl_keyboard_screen_scaling(value: int) extern def Fl_open_display() extern def Fl_close_display() extern def Fl_box_dx(boxtype: int) -> int extern def Fl_box_dy(boxtype: int) -> int extern def Fl_box_dw(boxtype: int) -> int extern def Fl_box_dh(boxtype: int) -> int extern def Fl_mac_os_version() -> int extern def Fl_event_clipboard() -> bytes extern def Fl_event_clipboard_type() -> str extern def Fl_clipboard_contains(type: str) -> int extern def Fl_event_dispatch(cb0: bytes) extern def Fl_inactive(c: t.CUInt32T) -> t.CUInt32T extern def Fl_lighter(c: t.CUInt32T) -> t.CUInt32T extern def Fl_darker(c: t.CUInt32T) -> t.CUInt32T extern def Fl_set_box_type_cb(a0: int, cb1: bytes, a2: int, a3: int, a4: int, a5: int) extern def Fl_draw_box_active() -> int extern def Fl_gray_ramp(i: int) -> t.CUInt32T extern def Fl_color_average(a0: t.CUInt32T, a1: t.CUInt32T, f: t.CFloat) -> t.CUInt32T extern def Fl_contrast(c1: t.CUInt32T, c2: t.CUInt32T) -> t.CUInt32T extern def Fl_rgb_color(r: t.CUInt8T, g: t.CUInt8T, b: t.CUInt8T) -> t.CUInt32T extern def Fl_rgb_color_grayscale(g: t.CUInt8T) -> t.CUInt32T extern def Fl_cmap(c: t.CUInt32T) -> t.CUInt32T extern def Fl_box_color(c: t.CUInt32T) -> t.CUInt32T extern def Fl_set_box_color(c: t.CUInt32T) extern def Fl_add_system_handler(cb0: bytes, a1: bytes) extern def Fl_remove_system_handler(cb0: bytes) extern def Fl_gl_visual(mode: int) -> int extern def Fl_add_clipboard_notify(cb0: bytes, data: bytes) extern def Fl_remove_clipboard_notify(cb0: bytes) extern def Fl_open_callback(cb0: bytes) extern def Fl_disable_wayland() extern def Fl_Widget_Tracker_widget(t: Fl_Widget_TrackerPtr) -> Fl_WidgetPtr extern def Fl_Widget_Tracker_exists(t: Fl_Widget_TrackerPtr) -> int extern def Fl_get_color_rgb(col: t.CUInt32T, r: bytes, g: bytes, b: bytes) extern def Fl_callback_reason() -> int extern def Fl_get_fl_msg() -> bytes extern def Fl_cairo_make_current(w: Fl_WidgetPtr) -> bytes extern def Fl_set_cairo_autolink_context(alink: int) extern def Fl_cairo_autolink_context() -> int extern def Fl_cairo_cc() -> bytes extern def Fl_set_cairo_cc(c: bytes, own: int) extern def Fl_cairo_flush(c: bytes) extern def Fl_option(opt: int) -> int extern def Fl_set_option(opt: int, val: int) extern def Fl_load_system_icons() extern def Fl_set_contrast_level(level: int) extern def Fl_contrast_level() -> int extern def Fl_set_contrast_mode(mode: int) extern def Fl_contrast_mode() -> int extern def Fl_set_contrast_function(cb0: bytes) extern def Fl_using_wayland() -> int