import t, c from fltk._types import * # ============================================================ # fltk/_cfl_widget.vp — cfl_widget.h 的 extern FFI 声明(对接 cfltk C API) # ============================================================ # 所有函数直接对应 cfltk 生成的 C 符号(extern "C"),链接目标: cfltk2。 # 类型约定: Fl_* 对象均为不透明指针 (Fl_XxxPtr);const char* → str; # 函数指针/void* → bytes(Viper 端传 0/NULL 或不使用)。 # ----- Fl_Widget (widget_declare) ----- extern def Fl_Widget_new(x: int, y: int, width: int, height: int, title: str) -> Fl_WidgetPtr extern def Fl_Widget_x(self: Fl_WidgetPtr) -> int extern def Fl_Widget_y(self: Fl_WidgetPtr) -> int extern def Fl_Widget_width(self: Fl_WidgetPtr) -> int extern def Fl_Widget_height(self: Fl_WidgetPtr) -> int extern def Fl_Widget_label(self: Fl_WidgetPtr) -> str extern def Fl_Widget_set_label(self: Fl_WidgetPtr, title: str) extern def Fl_Widget_redraw(self: Fl_WidgetPtr) extern def Fl_Widget_show(self: Fl_WidgetPtr) extern def Fl_Widget_hide(self: Fl_WidgetPtr) extern def Fl_Widget_activate(self: Fl_WidgetPtr) extern def Fl_Widget_deactivate(self: Fl_WidgetPtr) extern def Fl_Widget_redraw_label(self: Fl_WidgetPtr) extern def Fl_Widget_resize(self: Fl_WidgetPtr, x: int, y: int, width: int, height: int) extern def Fl_Widget_widget_resize(self: Fl_WidgetPtr, x: int, y: int, width: int, height: int) extern def Fl_Widget_tooltip(self: Fl_WidgetPtr) -> str extern def Fl_Widget_set_tooltip(self: Fl_WidgetPtr, txt: str) extern def Fl_Widget_get_type(self: Fl_WidgetPtr) -> int extern def Fl_Widget_set_type(self: Fl_WidgetPtr, typ: int) extern def Fl_Widget_color(self: Fl_WidgetPtr) -> t.CUInt32T extern def Fl_Widget_set_color(self: Fl_WidgetPtr, color: t.CUInt32T) extern def Fl_Widget_measure_label(self: Fl_WidgetPtr, a1: bytes, a2: bytes) extern def Fl_Widget_label_color(self: Fl_WidgetPtr) -> t.CUInt32T extern def Fl_Widget_set_label_color(self: Fl_WidgetPtr, color: t.CUInt32T) extern def Fl_Widget_label_font(self: Fl_WidgetPtr) -> int extern def Fl_Widget_set_label_font(self: Fl_WidgetPtr, font: int) extern def Fl_Widget_label_size(self: Fl_WidgetPtr) -> int extern def Fl_Widget_set_label_size(self: Fl_WidgetPtr, sz: int) extern def Fl_Widget_label_type(self: Fl_WidgetPtr) -> int extern def Fl_Widget_set_label_type(self: Fl_WidgetPtr, typ: int) extern def Fl_Widget_box(self: Fl_WidgetPtr) -> int extern def Fl_Widget_set_box(self: Fl_WidgetPtr, typ: int) extern def Fl_Widget_changed(self: Fl_WidgetPtr) -> int extern def Fl_Widget_set_changed(self: Fl_WidgetPtr) extern def Fl_Widget_clear_changed(self: Fl_WidgetPtr) extern def Fl_Widget_align(self: Fl_WidgetPtr) -> int extern def Fl_Widget_set_align(self: Fl_WidgetPtr, typ: int) extern def Fl_Widget_delete(self: Fl_WidgetPtr) extern def Fl_Widget_set_image(self: Fl_WidgetPtr, a1: bytes) extern def Fl_Widget_handle(self: Fl_WidgetPtr, cb: bytes, data: bytes) extern def Fl_Widget_handle_event(self: Fl_WidgetPtr, event: int) -> int extern def Fl_Widget_draw(self: Fl_WidgetPtr, cb: bytes, data: bytes) extern def Fl_Widget_resize_callback(self: Fl_WidgetPtr, cb1: bytes, data: bytes) extern def Fl_Widget_set_when(self: Fl_WidgetPtr, a1: int) extern def Fl_Widget_when(self: Fl_WidgetPtr) -> int extern def Fl_Widget_image(self: Fl_WidgetPtr) -> bytes extern def Fl_Widget_parent(self: Fl_WidgetPtr) -> bytes extern def Fl_Widget_selection_color(self: Fl_WidgetPtr) -> t.CUInt32T extern def Fl_Widget_set_selection_color(self: Fl_WidgetPtr, color: t.CUInt32T) extern def Fl_Widget_do_callback(self: Fl_WidgetPtr) extern def Fl_Widget_inside(self: Fl_WidgetPtr, a1: bytes) -> int extern def Fl_Widget_window(self: Fl_WidgetPtr) -> bytes extern def Fl_Widget_top_window(self: Fl_WidgetPtr) -> bytes extern def Fl_Widget_takes_events(self: Fl_WidgetPtr) -> int extern def Fl_Widget_user_data(self: Fl_WidgetPtr) -> bytes extern def Fl_Widget_take_focus(self: Fl_WidgetPtr) -> int extern def Fl_Widget_set_visible_focus(self: Fl_WidgetPtr) extern def Fl_Widget_clear_visible_focus(self: Fl_WidgetPtr) extern def Fl_Widget_visible_focus(self: Fl_WidgetPtr, v: int) extern def Fl_Widget_has_visible_focus(self: Fl_WidgetPtr) -> t.CUInt32T extern def Fl_Widget_set_user_data(self: Fl_WidgetPtr, data: bytes) extern def Fl_Widget_draw_data(self: Fl_WidgetPtr) -> bytes extern def Fl_Widget_handle_data(self: Fl_WidgetPtr) -> bytes extern def Fl_Widget_set_draw_data(self: Fl_WidgetPtr, data: bytes) extern def Fl_Widget_set_handle_data(self: Fl_WidgetPtr, data: bytes) extern def Fl_Widget_damage(self: Fl_WidgetPtr) -> t.CUInt8T extern def Fl_Widget_set_damage(self: Fl_WidgetPtr, flag: t.CUInt8T) extern def Fl_Widget_set_damage_area(self: Fl_WidgetPtr, flag: t.CUInt8T, x: int, y: int, w: int, h: int) extern def Fl_Widget_clear_damage(self: Fl_WidgetPtr) extern def Fl_Widget_as_window(self: Fl_WidgetPtr) -> bytes extern def Fl_Widget_as_group(self: Fl_WidgetPtr) -> bytes extern def Fl_Widget_set_deimage(self: Fl_WidgetPtr, a1: bytes) extern def Fl_Widget_deimage(self: Fl_WidgetPtr) -> bytes extern def Fl_Widget_set_callback(self: Fl_WidgetPtr, a1: bytes, a2: bytes) extern def Fl_Widget_visible(self: Fl_WidgetPtr) -> int extern def Fl_Widget_visible_r(self: Fl_WidgetPtr) -> int extern def Fl_Widget_active(self: Fl_WidgetPtr) -> t.CUInt32T extern def Fl_Widget_active_r(self: Fl_WidgetPtr) -> int extern def Fl_Widget_callback(self: Fl_WidgetPtr) -> bytes extern def Fl_Widget_set_deletion_callback(self: Fl_WidgetPtr, cb1: bytes, data: bytes) extern def Fl_Widget_from_dyn_ptr(ptr: Fl_WidgetPtr) -> Fl_WidgetPtr extern def Fl_Widget_from_derived_dyn_ptr(ptr: Fl_WidgetPtr) -> Fl_WidgetPtr extern def Fl_Widget_super_draw(ptr: Fl_WidgetPtr, flag: int) extern def Fl_Widget_super_draw_first(ptr: Fl_WidgetPtr, flag: int) extern def Fl_Widget_super_handle_first(ptr: Fl_WidgetPtr, flag: int)