Files
TransPyC/includes/fltk/_cfl_printer.vp
T
TermiNexus 6892183cc9 feat(fltk): 新增 FLTK 1.4 纯 extern FFI 绑定库(对接 cfltk C API)
- 生成 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
2026-09-01 19:53:54 +08:00

49 lines
2.8 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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)