- 生成 24 个 _cfl*.vp(10327 条 extern 声明)+ _types/_enums 常量 - __init__.vp 提供 Fl/Fl_Widget/Fl_Window/Fl_Button/Fl_Input/Fl_Text_Buffer/Fl_Group/Fl_Menu_Bar/Fl_Native_File_Chooser 等包装类 - 回调(Fl_Callback)按 bytes 不透明处理,菜单回调位传 t.CPtr(0) - 新增 examples/hello.vp、dialog.vp 冒烟样例,26 个 .vp 全部通过 vast parse - 内嵌 cfltk(C API 封装)与 FLTK 1.4 完整源码,构建目标 cfltk2
49 lines
2.8 KiB
Plaintext
49 lines
2.8 KiB
Plaintext
import t, c
|
||
from fltk._types import *
|
||
|
||
# ============================================================
|
||
# fltk/_cfl_printer.vp — cfl_printer.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_Printer_new() -> Fl_PrinterPtr
|
||
extern def Fl_Printer_delete(self: Fl_PrinterPtr)
|
||
extern def Fl_Printer_begin_job(self: Fl_PrinterPtr, pagecount: int, frompage: bytes, topage: bytes, perr_message: bytes) -> int
|
||
extern def Fl_Printer_begin_page(self: Fl_PrinterPtr) -> int
|
||
extern def Fl_Printer_printable_rect(self: Fl_PrinterPtr, w: bytes, h: bytes) -> int
|
||
extern def Fl_Printer_margins(self: Fl_PrinterPtr, left: bytes, top: bytes, right: bytes, bottom: bytes)
|
||
extern def Fl_Printer_origin(self: Fl_PrinterPtr, x: bytes, y: bytes)
|
||
extern def Fl_Printer_set_origin(self: Fl_PrinterPtr, x: int, y: int)
|
||
extern def Fl_Printer_scale(self: Fl_PrinterPtr, scale_x: t.CFloat, scale_y: t.CFloat)
|
||
extern def Fl_Printer_rotate(self: Fl_PrinterPtr, angle: t.CFloat)
|
||
extern def Fl_Printer_translate(self: Fl_PrinterPtr, x: int, y: int)
|
||
extern def Fl_Printer_untranslate(self: Fl_PrinterPtr)
|
||
extern def Fl_Printer_end_page(self: Fl_PrinterPtr) -> int
|
||
extern def Fl_Printer_end_job(self: Fl_PrinterPtr)
|
||
extern def Fl_Printer_set_current(self: Fl_PrinterPtr)
|
||
extern def Fl_Printer_is_current(self: Fl_PrinterPtr) -> int
|
||
extern def Fl_Printer_print_widget(self: Fl_PrinterPtr, widget: bytes, delta_x: int, delta_y: int)
|
||
extern def Fl_Printer_print_window(self: Fl_PrinterPtr, win: bytes, x_offset: int, y_offset: int)
|
||
extern def Fl_Printer_set_dialog_title(msg: str)
|
||
extern def Fl_Printer_set_dialog_printer(msg: str)
|
||
extern def Fl_Printer_set_dialog_range(msg: str)
|
||
extern def Fl_Printer_set_dialog_copies(msg: str)
|
||
extern def Fl_Printer_set_dialog_all(msg: str)
|
||
extern def Fl_Printer_set_dialog_pages(msg: str)
|
||
extern def Fl_Printer_set_dialog_from(msg: str)
|
||
extern def Fl_Printer_set_dialog_to(msg: str)
|
||
extern def Fl_Printer_set_dialog_properties(msg: str)
|
||
extern def Fl_Printer_set_dialog_copyNo(msg: str)
|
||
extern def Fl_Printer_set_dialog_print_button(msg: str)
|
||
extern def Fl_Printer_set_dialog_cancel_button(msg: str)
|
||
extern def Fl_Printer_set_dialog_print_to_file(msg: str)
|
||
extern def Fl_Printer_set_property_title(msg: str)
|
||
extern def Fl_Printer_set_property_pagesize(msg: str)
|
||
extern def Fl_Printer_set_property_mode(msg: str)
|
||
extern def Fl_Printer_set_property_use(msg: str)
|
||
extern def Fl_Printer_set_property_save(msg: str)
|
||
extern def Fl_Printer_set_property_cancel(msg: str)
|