Compare commits

..
Author SHA1 Message Date
TermiNexus e8dc3e3787 支持 tls 关键字,全面准备清退 t, c 2026-10-17 23:39:54 +08:00
TermiNexus 7a329f7d1e 去除 import t, c 以及 FL 2026-10-17 21:58:05 +08:00
TermiNexus 7556264d22 fix(torch): vector_add_inplace 正确调用 simd_add_array
simd_add_array(a, b, out, n) 是整段批量函数,原先只传了 3 个参数(缺 count),且在外层每 4 个元素调用一次、每次从下标 0 重新开始。改为单次调用 simd_add_array(a, b, a, n),尾部用 n-(n&3) 起做标量补齐;顺带删掉无用的 malloc(8) 临时块。注:本次提交同时带上了该文件既有的 t.CPtr → rawptr 迁移改动。
2026-10-17 18:47:57 +08:00
TermiNexus 1b21d58be3 fix(mlirlite): 消除 IR 文本缓冲与解析器的静默截断
构建器:_append_cstr 装不下时改调 MlirFail(原先静默截断会让 switch 少 case、asm 半截、call 少参数);新增 _line_cap_for 按实际片段长度分配行缓冲,覆盖 load/store、12 种转换指令、gep/gep_array/gep_struct、phi、switch、select、atomicrmw、cmpxchg、va_arg、inline asm;build_call 的 callee 不再按 128 截断,参数槽从 32 放宽到 64。解析器:_mlir_read_value/_mlir_read_type 超限即 MlirFail,不再悄悄少写;所有值/类型/符号 scratch 由 512 提到 4096,调用点容量同步;_replace_ssa_numbers 改为两遍精确分配(原 2x 估算会半行截断);全局初始化器的聚合 token 与 addressof 符号名同样改为 4096 + fail-loud;TypePrint 的 "..." 占位现在会置 _MlirTypeTrunc,由 TypePrint 统一报错。
2026-10-17 17:57:40 +08:00
TermiNexus 172af1e172 fix(asm): io_wait 改为连续 4 次读备选状态寄存器 0x3F6,提供真实 400ns I/O 延时
原先写的是诊断端口 0x80:该端口背后没有设备,在 QEMU 上几乎不消耗时间,等于没有延时。于是 IDE 命令块寄存器 0x1F2..0x1F7 连写会丢写,LBA 寄存器残留上一次的值,导致读到别的扇区(现场:读根目录扇区 8192 却读回 ELF 文件头,目录项全是垃圾,五个 app 全部 spawn 失败;另有 waitDataReady 超时表现为 diskio.read 返回 FR_DISK_ERR)。0ee5ec5 曾为同一现场补过 io_wait 调用,但当时见效靠的是调用开销与代码节奏的余量;内核变大后被吃掉,故障必现。改为 4 次 in al, 0x3F6(真实设备端口,每次均为真实 I/O 往返),并补 CLOBBER_RAX(in al 会改写 RAX,原实现未声明该 clobber)。
2026-10-16 19:56:26 +08:00
TermiNexus 6a22633b6b chore(string): strrchr/strstr 补 noescape 逃逸标注;builtins/zlib 微调 2026-10-16 16:40:55 +08:00
TermiNexus 49889b39c7 docs(mlirlite): README 更新 2026-10-16 16:40:49 +08:00
TermiNexus c816f53af4 chore(mlirlite): too-many-elements 处打印 n/g/src 前缀 - 定位哪个全局数组被放大 2026-10-16 12:53:31 +08:00
TermiNexus e9e1933a62 fix(mlirlite): 全局数组 dense 渲染缓冲提到循环外复用(消每元素~5KB泄漏) + 聚合值读取必前进(修 too many global array elements) 2026-10-16 12:04:24 +08:00
TermiNexus 1eb46faa41 fix(mlirlite): T2「store→load 转发」改为类型感知(跨类型 load 不再被按名替换)
现场(位拷贝早期实现写成 `load i64, ptr %xv`):
  697:16: error: use of value '%x' expects different type than prior uses: 'i64' vs 'f64'
    llvm.store %x, %0 : i64, !llvm.ptr
—— T2 转发是纯**按名字**替换的:把 `store double %x, ptr %xv` 的 %x 顶进了那条 i64 行。

- 扫描时同时记录 store 存值的**类型文本**(括号配平读)与每个 load 的**声明类型文本**
  (同样括号配平,读到第一个顶层 ',' 或空格);
- 仅当**所有 load 的声明类型都与存值类型一致**时才转发,否则整槽放弃(保守,IR 始终合法);
- 同类型槽(标量/指针/聚合的常见情形)转发不受影响:聚合两侧读法同口径,不会因文本截断白丢。
2026-10-15 20:18:59 +08:00
TermiNexus 1aafde09fc fix(mlirlite): 修掉上一提交里 MlirTypeText 的误用(其第 3 参是类型文本,不是 LLVMType*)
现场:cannot convert to MLIR type text (v1 does not cover this form): ''

- 传类型对象当文本 → 取到空串 → fail-fast;改为不调它。
- 位宽改回类型对象自带的 LLVMType.Bits(f16/f32/f64/f128 ↔ 4/8/16/32),并恢复对未知类型的
  容忍(非 4/8/16/32 一律按 f64 位模式,即旧行为)。
- 逐 nibble 自写(_HexDigits)保留:真凶是 printf 对高位置位的 32 位值按符号扩展后的 64 位
  打印(f32 位型 → 16 位文本,配 f32 类型被判位宽不匹配);现在位数严格等于类型位数。
2026-10-15 19:47:55 +08:00
TermiNexus 8dbad705e9 fix(mlirlite): 浮点常量位型改为逐 nibble 自写,位宽只由 MlirTypeText 决定
现场(f32 类型配 16 位文本):
  [MLIR-FAIL] ... (type 'f32' needs 8 hex digits, value '0xffffffffc0490fdb' has 16)
即 -π 的 f32 位型被 printf 按**符号扩展后的 64 位**打印(高位置位 → 16 位),
而 _MlirFloatLiteral 按类型只收 8 位 → 整个模块编不过。

- 名字不再用 snprintf 的 %08x / %016llx / %04x,改 _HexDigits 逐 nibble 写固定位数;
  位数只由 MlirTypeText(ty) 定(与 MLIR 渲染器取类型文本是同一函数)⇒ 两侧位宽构造上一致。
- 位型计算保持不变(f16 先转 half、f32 先转 float、f128 hi/lo、f64 直接取位)。
2026-10-15 19:38:52 +08:00
TermiNexus 32b631ef6f feat(mlirlite): float 位模式位宽不匹配的报文带上类型/常量文本/实际位数
- 只报'宽度不匹配'无法定位是哪条常量(本次现场只能靠二分源码才找到);补上
  (type, want, value, nd) 后一眼可见,与 _MlirConstFail 同风格。
- 同一文件里还带着你之前未提交的改动(函数属性渲染:_MlirFuncAttrs / _SC_Attr /
  AttrGroup 语义注释等),一并入库;如需拆分请示意。
2026-10-15 19:26:16 +08:00
TermiNexus 40fd9d8cf7 fix(base64): 因取消整数提升,b64decode 移位左操作数显式加宽为 uint32(修移位计数越界与静默截断) 2026-10-13 16:34:37 +08:00
TermiNexus e0bb791119 feat(ast): 新增 bigend / littlend 类型描述符软关键字(与 const/volatile 同机制,注解位置展开为 t.BigEndian / t.LittleEndian) 2026-10-13 15:21:31 +08:00
TermiNexus bf6403c803 fix(socket): accept/socket 非 Windows 分支补齐 u64→INT 显式窄化(out_client.fd / return / out_sock.fd) 2026-10-13 10:19:11 +08:00
TermiNexus 21154a3ab8 fix(socket): socket/accept 的 u64 handle 在 INT 目标处补显式窄化(与 213/328 对称,修隐式窄化报错) 2026-10-13 10:16:55 +08:00
TermiNexus 4aa8d399ff fix(zlib): zbit_writer 位写入 |= 右值显式窄化为 BYTE(修 augmented assignment 右值过宽报错) 2026-10-12 21:05:48 +08:00
TermiNexus 7f82bec5d1 chore: 全仓同步 TPV→VPC 注释改名与 range(int(...)) 显式收窄适配 2026-10-12 20:59:35 +08:00
TermiNexus 44c1bc4168 fix(mlir): 窥孔取 store 值改按括号配平,修聚合类型被截在第一个逗号 2026-10-12 18:24:55 +08:00
TermiNexus 94ae0d32b7 feat(ast): 整型字面量支持显式宽度后缀 _int<N>/_uint<N>/_i<N>/_u<N> 2026-10-12 18:24:54 +08:00
TermiNexus fb365a1707 chore: 改名同步 TransPyV -> ViperC(源码/配置内的纯替换) 2026-10-12 15:06:47 +08:00
TermiNexus ccd7434c5a chore: 改名同步 TransPyV -> ViperC(.gitignore/文档/脚本) 2026-10-12 15:02:19 +08:00
TermiNexus 38047cbed1 chore: 引用路径改名 TransPyV -> ViperC 2026-10-12 14:28:40 +08:00
TermiNexus bca23ffa06 fix(mlirlite): MLIR 间接调用点也过 alias 解析,callee 不再悬空
no-op bitcast(含函数指针 bitcast)被 alias 机制省略后,参数用法会改写成别名目标,
但 llvm.call 的 callee 位置原样写出 → 悬空 %N,mlir-opt 报 use of undeclared SSA value /
definition of SSA value has type 'i8' but previously used here with type '!llvm.ptr'。

- _MlirCall:callee 走 _MlirResolve,并用解析后的名字判断直接/间接调用
  (别名解析可能把 callee 指到 @符号,那就成了直接调用,不能再写 !llvm.ptr)
2026-10-12 13:18:51 +08:00
TermiNexus 4914311014 fix(mlirlite): 常量表与自动常量名空间(%c<seq>)按需扩容
原实现三处都钉死在 MLIR_CONST_CAP(512):常量表满 → MlirFail("constant table overflow")、%c0..%c511 用尽 → MlirFail、_MlirMarkUsedCName 里"更大的后缀不可能冲突"的假设。这些只是资源限制,不该中断编译。

- 新增 _MLIR_ConstCap 活容量与 _MlirConstGrow(池内翻倍扩容常量表 + 已用名表并拷贝旧内容)
- 常量表满、名字空间用尽改为扩容后重试;_MlirMarkUsedCName 记录任意 c<digits> 并先扩容再置位
- _MlirTablesInit 按活容量分配/清零,复用分支保留已扩容容量
2026-10-12 12:40:20 +08:00
TermiNexus cc7cfdb4af fix(mlirlite): alias 表按需扩容;工厂改 new memgr;define 位宽/截断配套
- mlirlite/__function.vp:_MlirAliasAdd 的 512 条硬上限改为 _MlirAliasGrow 池内翻倍扩容,不再把资源限制当编译错误
- mlirlite 类型工厂改 new memgr(pool) 返回值(消除栈逃逸);__module.vp 补 triple/datalayout
- viperlib.get_digit_count 用 uint(base) 显式声明无符号除法语义(新 AugAssign 符号规则)
- string.vp:strcpy/strcat/strncpy/strncat/memset/memset32/memcpy/memmove 加 @life(noescape(...))
2026-10-12 12:38:15 +08:00
TermiNexus 244179eac7 fix(mlirlite): MLIR 模块头补齐 llvm.target_triple/llvm.data_layout 属性
MLIR 路径原先只在模块头写注释、不落 target triple/datalayout;而 mlir-translate
只从 MLIR 模块属性取值,project.vpj 的 llc 也没有 -mtriple 兜底,因此降级出的
LLVM IR 完全没有 target triple。后果是 opt -passes=asan 按非 Windows 目标选择
固定 shadow 偏移 1<<44,与链接的动态 ASan 运行库实际映射的 shadow 基址不一致,
第一个被插桩的访问即踩到未映射的 shadow 页而崩(现场:启动期
__traceback_install_ctor -> Install -> strcpy 读字面量)。

改为输出 module attributes {llvm.target_triple, llvm.data_layout},使 IR 头随
mlir-translate 降级带出(同时让 llc 拿到正确 target,不再依赖宿主默认)。
2026-10-11 21:21:02 +08:00
TermiNexus 6bd5a6e7a4 refactor(mlirlite): 语法迁移(rawptr/novirtual/解引用写入) 并修正 DerefAs 迁移为整对象拷贝
REnum 变体构造(*LLVMType.X(...))返回的是栈 alloca 地址,不能跨帧存活;原 c.DerefAs(ptr, LLVMType.X(...)) 是'同帧 load+store 拷贝'。机械迁移成 *ptr = LLVMType.X(...) 会把栈地址写进 pool 缓冲并返回(栈逃逸),导致 SpecTypeBits 读到非变体返回 0(现场: enum 宽度推断失败)。改为 *ptr = *LLVMType.X(...) 恢复同帧整对象拷贝;*result_ty_ptr = *result_ty 同理
2026-10-11 12:47:06 +08:00
TermiNexus 00ddb296ac fix(narrow): 字节缓冲写 int/算术结果改用 char(...)(sys/_fakeduck)
sys.vp cmd 解析 ch:int 写 buf;_fakeduck ch±32 算术提升为 int。目标均为 bytes(i8),RHS 为 32 位,触发 32->8 隐式窄化。其余 for ch in <str> 形态 ch 是 char,同宽不报错
2026-10-11 11:58:57 +08:00
TermiNexus 0f37f2fde9 revert(narrow): 撤销 define 位掩码的显式强转(编译器已按值推断位宽)
TPC 已修复 CDefine 常量位宽推断(无符号 32 位高半区不再误判 i64),X | DEFINE 现为 i32;fileio access |= GENERIC_*、tarfile px.mask |= PAX_*、ast/parser node.flags |= FLAG_IS_* 无需再显式强转,恢复原写法
2026-10-11 11:46:38 +08:00
TermiNexus 7e6ed0db2e fix(narrow): 32 位字段/变量 |= 64 位 CDefine 改用显式窄化转换
CDefine 常量按 64 位处理,X | DEFINE 的结果即 64 位;赋回 32 位字段触发隐式窄化(单个常量赋值有豁免,但 OR 表达式没有)。fileio access |= GENERIC_* 用 ULONG(...);tarfile px.mask |= PAX_*、ast/parser node.flags |= FLAG_IS_* 用 int(...)
2026-10-11 11:42:25 +08:00
TermiNexus e308e6e734 fix(narrow): viperlib vsnprintf 指数符号写字节改用 char(...) 包裹三元
ptr[0] = <int字面量> 属常量豁免;A if c else B 是 int 三元表达式,写入 bytes 元素触发窄化。显式 char(...) 包裹 e/E 与 +/-(各 2 处,共 4 处)
2026-10-11 11:38:14 +08:00
TermiNexus 9d5028bc61 fix(narrow): byte 缓冲写 32 位掩码结果改用 uint8(...)
base64 解码输出、zipfile zf_w16le/zf_win32le、zlib adler/gzip 尾写:目标为 bytes/uint8*/BYTE*(8 位),RHS 为 32 位表达式,触发隐式窄化;统一加 uint8(...)
2026-10-11 11:06:02 +08:00
TermiNexus 3dd5bca28e fix(narrow): hashlib 摘要写字节改用 uint8(...)
sha256/sha1/md5 的 digest 阶段把 32/64 位掩码结果写入 bytes 元素(i8),触发隐式窄化;统一加 uint8(...)(与 __sha512 一致)
2026-10-11 11:05:05 +08:00
TermiNexus 19e4ef26a2 refactor(fileio): File/FileW.write 长度形参 ULONG 改为 sizet
与 read_all 保持一致:长度来源多为 sizet/strlen,形参用 sizet 可避免 64->32 隐式窄化;内部对 count>0xFFFFFFFF 返回 ERR,仅在 WriteFile 处显式 ULONG(count)
2026-10-10 22:15:47 +08:00
TermiNexus 705de51459 fix(includes): 消除隐式窄化(string.strlen → int)
规则收紧后,6 处 string.strlen()(sizet/64 位)隐式落进 int 会报隐式窄化:argparse.vp:204/332、ast/parser.vp:3202/3203/3255/3256 改为显式 int(...);另 gzip.vp:62 的 read_all 容量去掉多余 ULONG(...)(形参已是 sizet)。
2026-10-10 22:09:59 +08:00
TermiNexus aa88e46b5d 将 w32 库改为 win32 2026-10-10 21:58:27 +08:00
TermiNexus 1c9447dc82 refactor(fileio): read_all 容量形参 ULONG → sizet(File/FileW)
与 f.size()(LONGLONG)同宽,消除'64 位尺寸进 32 位形参'的隐式窄化诱因;内部 min(file_size, cap-1) 全程用 sizet,只在交给 ReadFile(ULONG) 处显式窄化,且 cap-1 > 4GiB-1 直接返回失败(单次读上限 DWORD),不再静默回绕。
2026-10-10 21:57:39 +08:00
TermiNexus 466c777f34 feat(mlirlite): 常量渲染失败时报出 (类型, 值),便于定位 unsupported constant operand form
MlirFail 无栈回溯,原报文只有 'unsupported constant operand form',无法判断是哪种非常量形态(指针/聚合类型字面量或常量表达式)。新增 _MlirConstFail:把 MLIR 类型文本与常量文本一并打印。
2026-10-10 20:07:03 +08:00
TermiNexus 0d677bc6f8 将 w32 库进行完整的清理 2026-10-10 18:03:44 +08:00
TermiNexus 7f32042c21 feat(parser): new 的类型改按注解规则解析,认 [N]T 前导数组声明符与 T* 后缀 2026-10-09 18:44:42 +08:00
TermiNexus 17b1d6bb60 feat(tarfile): 纳入 tar 归档读写模块
- 读:ustar 头(含 prefix 字段)、GNU L/K 长名与长链接头、PAX x/g 扩展头(path/linkpath/size/mtime/uid/gid/uname/gname)、GNU base-256 数值字段;归档整体读入内存,.tar.gz 先解压

- 写:ustar 头;路径或链接目标超长时补一条 PAX x 记录

- 用法:tarfile.TarFile(path, mode);tarfile.error() 携带失败原因
2026-10-09 15:01:02 +08:00
TermiNexus be62587521 feat(parser): new 接受无实参括号的类型原子;回收 '*' 伪错时同步回退错误位置
- _parse_new_expr:类型原子(Name/Attribute/Subscript)与 T(args) 都接受,New.args 可为 None;非类型原子仍在原地 fail-fast(不让错误漂到 class 未注册那种远处)

- _parse_type_ann 的 ptr_level 回收只还了 error_count,没还 _g_parse_err_line/_col/_msg;而 _record_parse_err 只记第一条,于是 : char*(行尾 '*' 被当乘法、右操作数缺失)留下的过期位置会顶掉后面真正的语法错误(现场:EscapeTest 第 13 行 new stack char 被报成第 6 行)

- 回退判据用记录是否在本次解析中改变:快照已非 0(更早的真错误)时回退是空操作
2026-10-09 14:55:43 +08:00
TermiNexus bfc773787d feat(lifetime): stdlib.free 标注 @life(willFree(p)),声明实参在调用后失效
P2 标注驱动:编译器据此把调用点对应实参变量标为已失效,其后读/传/再 free 报 LifetimeError。
2026-10-08 21:28:55 +08:00
TermiNexus 770e389360 fix(argparse): 字符串参数的 NULL 默认值不再写入
NULL 默认值写进结果会让键存在但值为 NULL:has() 误报参数已给出,函数末尾的 required 检查对字符串参数永远不触发。改为 default_str 为 None 时跳过写入。
2026-10-08 20:35:17 +08:00
TermiNexus 788c52b749 fix(tomllib): 单引号处误用双引号字符串,改为字符字面量
char 形参与 char 比较位置写成「双引号包单引号」(实为 i8* 字符串):形参处报 CastError(implicit pointer-to-integer),比较处被 C 哨兵规则静默 ptrtoint 成恒假(TOML 单引号字面量字符串根本解析不出来)。7 处统一改成字符字面量,与 lexer.vp 同款写法一致。
2026-10-08 20:03:34 +08:00
TermiNexus 76deaa27bf feat(mlirlite): 新增 IRBuilder.build_store_at_entry,支持在入口块写入以建立支配关系
M3 owned slife 的所有权影子标志必须在函数入口块置 0:赋值语句可能落在 if/while 里而运行期不执行,那种路径上出口 free 的是未初始化栈垃圾。实现照搬 build_alloca_at_entry:文本插到入口终止符之前,保证支配所有路径。
2026-10-08 20:03:33 +08:00
TermiNexus 77c8d4f9e4 chore: 纳入 ctraits.vpnci 与 tomllib/(与已删除的 ctraits.vpi 配套) 2026-10-08 17:50:26 +08:00
TermiNexus e25e8958f0 WIP 快照:includes 现有改动(含 M2.4 new 描述符的语法支持)
语法侧(M2.4):ast/base.vp 枚举尾部追加 ASTKind.New;ast/exprs.vp 新增 NEW_SRC_*/NEW_LIFE_* 与 class New;ast/parser.vp 新增 _is_new_expr/_parse_new_expr(new 为软关键字,不进 Keyword 表,new=1/new.x/new(1) 仍是标识符);ast/__init__.vp 再导出 New 与常量。

其余为既有 WIP 改动一并快照,保持基线一致(39 文件,+312/-237)。

未纳入:ctraits.vpi(已删除)、ctraits.vpnci、tomllib/(均未跟踪)。
2026-10-08 17:45:31 +08:00
TermiNexus e3cdb190dc fix(os): _posix._stat 改为 _mbuddy 堆分配,消除返回栈地址的悬垂
_stat 原在栈上构造 posix.Stat 并返回其地址,函数返回后指针悬垂(与其 docstring 声明的 '_mbuddy 分配、调用方 free' 不一致)。改为按契约堆分配,失败时 free。
2026-10-08 12:10:30 +08:00
TermiNexus 05b2b7162d feat(stdarg): arg 声明补返回类型;viperlib 改用 arg(T) 读转发 va_list
stdarg.vp 的 arg 原本缺返回类型(与 va_arg 不对称,存根拿不到可用返回类型),补 -> t.CPtr 并注明它是编译器拦截的糖;viperlib 的 vsnprintf 第 4 个形参 ap 改名 args(vprintf 式转发的 va_list 是「按名 args 解析」的约定),内部 24 处 va_arg(ap, ...) / va_arg(ap) 全部改为 arg(...) / arg(),import 收敛为 from stdarg import arg。
2026-10-07 20:15:25 +08:00
TermiNexus 344ea5c3cd docs(ctraits): 注解与示例改用 cif 语句,去掉已删除的 c.CIf
ctraits.vpi 的模块/函数 docstring 与示例仍写 c.CIf(...);条件编译已改为原生 cif/celif/celse,示例同步为 cif ctraits.isptr(x):。
2026-10-07 19:09:54 +08:00
TermiNexus 18136d898f feat(lang): ast 解析器支持 cif 三件套与值引用注解,通用槽改 &temp void
ast/parser.vp:新增 cif/celif/celse 语句解析(必要时软关键字判据)与 &T / &temp T 参数注解(内部标记 t.CRef / t.CTempRef);_variant.vp / hashtable.vp / _dict.vp 的通用存储槽形参由裸指针改为 &temp void(即 i8**),避免 rawptr 的 ABI 歧义;testcheck.vp 的 check 调整为 check(cond, ok_msg, fail_msg),条件成立时静默。
2026-10-07 19:02:48 +08:00
TermiNexus 92c2c324cb fix(mlir): 数组包裹的具名结构体回查登记表以补回 packed
build 期的 TypePrint 在具名结构体登记表发布前渲染类型文本,内嵌的具名结构体体
没有 packed;打印期 MlirTypeText 只对扁平 !llvm.struct<" 前缀回查登记表,
!llvm.array< 整段直通,于是同一个 identified type 在模块内出现 packed 与非 packed
两种体,mlir-opt 报 identified type already used with a different body
(现场 Elf64_Phdr:数组元素体无 packed、llvm.load 结果体有 packed,两处字段表
逐字符比对完全相同,只差 packed 关键字)。

新增 _MlirArrayMlirText,只重新转换数组元素类型,使其与其余位置一样回查登记表;
抽出共用的 _MlirArrayXPos / _MlirArrayBody,_MlirArrayText 改为委托(行为不变)。
2026-10-07 15:41:52 +08:00
TermiNexus a8403ee550 chore(detsite): MLIR 类型文本与区域渲染路径补插桩
--detection 的 [FREEFRAME] 取证原先报 site=?:已注册的 17 个 DETSITE 标签全在
结构体/表类分配上,类型文本路径一个都没插。本次新增 34 个标签(18..51):
- mlirlite:_type_str 类型文本、build_call 参数/函数类型文本、常量值类型文本、
  区域渲染 scratch(tb/la/pr/r1/r2/nm/vl/tyb/nb/ps)
- 与之配套的 pool.alloc 全部改用 alloc_tagged,detection==0 时无额外开销。

据此定位到 [FREEFRAME] 写者:TranslatorGenMixin._stg_field_zero_text 的 160B 缓冲。
2026-10-07 15:16:40 +08:00
TermiNexus 825cd2b027 fix(mlir): 全局初始化器区域缓冲溢出不再误报为模块缓冲溢出
- GV_REGION_BUF_SIZE 由 32KB 提升到 4MB,并改用 malloc 分配(原走模块子池,容量受限)
- 新增 _MlirGvOutTrunc 与 _append_gv:区域缓冲溢出独立上报,不再置位模块截断标志
- MlirGvResetScratch 负责释放这两块 malloc 缓冲

复现:font 这类嵌套聚合全局初始化器超过 23 行(368 元素)即误报
module text exceeds output buffer,实际模块缓冲 8MB 远未写满。
2026-10-07 14:24:06 +08:00
TermiNexus 825919b202 fix(compiler): 修复 ViperApps 暴露的 3 处缺陷(vqt6 返回注解 / MLIR 常量命名 / scratch 复用)
1) vqt6/__init__.vp:6 处类实例返回注解由引号前向引用(QAction/QMenu/QTreeWidgetItem)改为 T*——引号前向引用解析为结构体值类型,而实例是指针,致 QAction Foo*→Foo CastError(4 个 Qt 系工程失败)。

2) mlirlite/__function.vp:常量自动 SSA 名 %cN 避让用户同名标识符(形参 c1/c2 与常量 %c1 冲突 => mlir-opt redefinition of SSA value,致 ViperMNIST 失败)。

3) mlirlite/__function.vp + __module.vp:新增 MlirTablesReset,使打印窗口内的表/scratch 跨函数复用(原每函数分配约 153KiB 且窗口内不回收 => 1GiB 主池被榨干,致 ViperFLProject parse scratch allocation failed)。
2026-10-07 08:48:03 +08:00
TermiNexus 587d989dec chore(messages): includes 运行时中文字符串英文化
把 includes 下 11 个文件(memhub 94、mlirlite/__function 71、ast/parser 54、mlirlite/__module 41、mlirlite/__types 28、ast/lexer 8、ast/tokens 4、sys 2、traceback 1、mlirlite/__builder 1、requests/https 1)的运行时诊断/报错字符串(OOM/MEM/FREEFRAME/MLIR 报错/AST 报错/栈转储横幅等)由中文改为英文。

口径:只改字符串字面量内部文字,行数零变化(+307/-307);printf 格式符与转义序列的多重集合逐一校验不变(_strcheck 异常 0)。验证:三重重编 SUCCESS(184.28s)+ 全量 77/77 顺序回归通过 + VET 编译 SUCCESS / --search-paths 7 条 exit 0。
2026-10-06 12:23:45 +08:00
TermiNexus c0d56b127d chore(comments): includes 头注释英文化(R11 收尾)
把 includes 下 64 个 .vp 的文件头注释(含 traceback.vp 第 13-427 行的整块文件级说明)以及 2 处漏网的正文中文注释(ast/lexer.vp、json/__writer.vp)与 1 处中文 docstring(memhub.vp)逐行译为英文;同步把 fltk/gen_ffi.py 的生成模板与其自身注释英文化,使重新生成仍为英文。

只改注释/文档串文字:行数与代码逐字节不变(骨架比对 140 文件漂移 0),运行时中文字符串字面量 305 处保持原样。验证:三重重编 SUCCESS(170.21s)+ 全量 77/77 顺序回归通过 + VET 编译 SUCCESS / --search-paths 7 条 exit 0。
2026-10-06 09:42:25 +08:00
TermiNexus 14ba84db8e chore(syntax): R1 typedef 右值改用 T*(21 处)
编译器已支持 typedef 右值类型位(305242aa),故解除 R1 的 typedef 右值例外:stdint.vp 19 处(INTPTR/BYTEPTR/CHARPTR/WCHARPTR/*PTR 等)、stdarg.vp 1 处(va_list)改为 T*,AST 与 T | t.CPtr 逐字段同形。
2026-10-05 20:58:38 +08:00
TermiNexus af59a752cd chore(syntax): R16 完整 C 式 const/volatile 迁移
把剩余 t.CConst | X 全部改写为前缀描述符 const X(AST 逐字段同形):

- t.CConst | VOIDPTR -> const VOIDPTR(win32console/win32file/win32memory 共 7 处);

- char | t.CConst* -> const str(winsock2 x2);t.CConst | BYTEPTR -> const BYTEPTR(zinflate);

- typedef 右值:LPCSTR = const str、LPCWSTR = const uint16*(stdint/win32base);

- parser.vp:typedef 右值按类型位解析(_IsCTypedefAnnotation),typedef X = T 语法糖同一条。
2026-10-05 20:36:35 +08:00
TermiNexus 03450a71ff fix(mlirlite): 局部窥孔优化每个函数体只执行一次
PrintModule 会按 STUB/TEXT/FULL 三次 dump 同一模块,而 FunctionPrint 每次都跑 _peephole_opt;T2(entry-slot store→load 转发)不是幂等变换,第二遍会误删仍有 load 指向的 entry alloca,留下悬空 SSA 名(mlir-opt: op using value defined outside the region)。给 Function 加 PeepDone 守卫,优化只作用于 builder 产出的原始文本。
2026-10-05 19:58:39 +08:00
TermiNexus c4170871c2 refactor: 去 t.CPtr(&a) 冗余包装(R15)
规范第 15 行:&a 已返回 T*,无需再 t.CPtr 强转。仅改单参且操作数为普通变量名的形态(t.CPtr(v) / t.CPtr(0) 等非取地址形态保留)。includes 5 文件 / 23 行:w32/fileio.vp、os/_posix.vp、os/_win32.vp、shutil.vp、subprocess.vp。验证:TPC 自举三重重编 SUCCESS;全量 77 项顺序回归通过。
2026-10-05 17:55:43 +08:00
TermiNexus 0055ab7ea7 refactor: rawptr[T] -> T* 与 t.CConst 前缀迁移(R14/R16)
R14:rawptr[X] -> X*(41 文件 / 2037 行改动),X 含模块限定名与嵌套下标(rawptr[GSList[NameEntry]] -> GSList[NameEntry]*)。保留 6 处 rawptr[t.CPtr](规范例外:存纯裸指针);# 注释与字符串里的 rawptr[...] 属元语法描述,未动。 R16(保守子集):t.CConst | str/bytes -> const str/bytes,t.CConst | char | t.CPtr -> const str;typedef 右值位置豁免(const str 在该处无法注册,与 R1 同源)。 验证:TPC 自举三重重编 SUCCESS;TransPyV.exe 全量 77/77 顺序回归通过。
2026-10-05 17:38:21 +08:00
TermiNexus 0ef4ba9634 refactor(includes): R12 收尾——再改 48 处可确定安全的计数 while 循环
在 R12 保守判定基础上放宽两处(仍保证语义等价):1) 允许 <= 条件,改写为 range(expr + 1)(while 结束后计数器为 n+1、for range 后为 n,已被「循环后不引用计数器」守卫覆盖);2) 初始化行只要求是「同块内最近一次对计数器的写入」,不再要求紧贴 while(中间不得读写该计数器)。

其余守卫不变:界表达式必须裸(无 and/or/比较)、体内无 continue、体内仅末尾一次 += 1、无嵌套重绑定、无 while-else、循环后同一函数内不再引用计数器。TransPyV 侧同步 12 处。

验证:bootstrap 三重重编 SUCCESS(无 vast_c 解析回退);全量 77/77 顺序回归通过。
2026-10-05 16:36:36 +08:00
TermiNexus e71daeea0e docs(includes): R11 注释英文化——75 个文件的中文注释改写为英文短注释
按规范「注释只讲解作用,不掺杂历史原因,尽量英文」:把 includes 下 75 个 .vp 的中文 # 注释与三引号 docstring 改写为英文,每个注释块压到 2 行以内。

保留要点:作用、约束、危险警告(不得/必须/注意)、ABI 与类型约定(如 BYTEPTR | t.CPtr = i8** 的跨模块坍缩坑)、位宽/长度约定、fail-fast 要求、内存与句柄所有权。

未动:文件头注释(规范豁免,仍是中文)、运行时中文字符串常量(printf / fatal_error / MlirFail 等用户可见消息,属代码字面量)。

验证:独立脚本比对 HEAD 与工作区的代码骨架(剥离 # 注释与三引号 docstring 后的非空行)——75 个文件逐字节一致;行尾 CRLF/LF 未被改动;全文剩余中文仅 547 行头注释、0 条行尾注释。bootstrap 三重重编 SUCCESS;全量 77/77 顺序回归通过。
2026-10-05 16:18:44 +08:00
TermiNexus 27121f56a7 refactor(includes): R12 下标 while 循环改 for range,R13 c.Set 迁移为赋值
R12(wiki/新规范 L27-39):把「i: int = 0 与 while i < N: … i += 1」形式的下标循环改写为「for i in range(N):」。保守判定:仅当条件为裸 NAME < EXPR、循环体无 continue、NAME 在体内无其它赋值、无嵌套重绑定、循环后同层不再引用 NAME 时才改写。共 269 处 / 48 文件。

R13:c.Set 是正在退化的路径——c.Set(*p, v) 期望写作 *p = v,c.Set(a, b) 等于 a = b。本次把 includes 内 45 处 c.Set 全部迁移为赋值,includes 已无 c.Set 调用。

验证:bootstrap 三重重编 SUCCESS(无 vast_c 解析回退);全量 77/77 顺序回归通过;ZlibTest 内部断言 79 passed / 0 failed。
2026-10-05 15:33:52 +08:00
TermiNexus 3e1ed0992b fix(ast): 修正实参位前导 * 的优先级,*p + n 解析为 (*p) + n
规范 rule 5 允许把 c.Deref(x) 写作 *x,但语法分析器在实参位置对前导 * 取整条表达式作为操作数:*buf + *length 被解析成 *(buf + *length),*length + data_len 成 *(length + data_len),多解引用一层。表现为 zlib decompressobj 全部失效(decompress 返回 0 字节、eof 恒 0、unused_data 取不到),requests/download 同类语句亦受影响。

改为:实参位 *expr 只按 _parse_factor 取紧绑定操作数,经新增 Parser.starred_seed 挂起,由 _parse_factor 顶部接手,再交由上层续接二元运算。*p[0](即 *(p[0]))、*p**2(即 *(p**2))等结合性保持原 C/Python 语义。

验证:全量 77/77 顺序回归一次通过;ZlibTest 内部断言由 74 passed / 6 failed 变为 79 passed / 0 failed。
2026-10-05 15:04:01 +08:00
TermiNexus e80284a6d5 refactor: 全量迁移 includes 到新规范语法
按根目录 新规范 迁移 R1/R2/R3/R4/R6/R7/R8/R9:指针 T* 后缀、内建类型短别名、c.Addr/c.Deref 单目化、c.Asm 改 __asm__、t.CDefine 改 define 软关键字、t.CEnum 改 enum。R4 对内建 cast 多参实参保留 c.Deref 原写法(单目化会致 TPC 类型退化)。验证:includes 52/52 编译通过,TransPyV 自举产物顺序回归 77/77 全通过。
2026-10-05 09:04:46 +08:00
TermiNexus aecdf27132 feat(mlirlite): 新增调用点记录 API 供 --traceback 旁文件(关闭时零开销)
新增 DebugSetEnabled / DebugNoteFunc / DebugClearFunc / DebugNoteLine /
DebugResetFunc / DebugTakeText 与内部 _DebugNoteCall;build_call 在启用时把
(调用方, 被调方, 当前源行) 追加到可增长文本缓冲,供每模块 DebugTakeText 取出
写 .vpcall。默认(未开 --traceback)不启用,输出不变。
2026-10-04 22:38:07 +08:00
TermiNexus 5dad869a40 fix(mlir): 全局初值 region 草稿缓冲改为单次 PrintModule 复用,修子池耗尽
每个全局初值 region 逐全局 alloc leaf/ins 各 32 KiB、每个初值节点 alloc
4 KiB 类型/符号草稿且从不释放:结构体/vtable 全局多的模块(MLIRLiteTest
#12)在约 2 MiB 模块子池上耗尽,报"零初值类型缓冲分配失败"。

改为按 PrintModule 惰性分配一组复用草稿(leaf/ins/类型/符号/路径栈),
跨全局、跨节点共享;PrintModule 入口 MlirGvResetScratch 使上次草稿失效,
下次按当前池重建(绝不复用已释放/被复用地址的池,避免悬空写穿 canary)。
下标路径改按递归深度分槽的复用栈,不再逐节点分配。
2026-10-04 21:09:36 +08:00
TermiNexus 68fe839da9 fix(mlir): 类型文本缓冲成对扩容(scratch 尺寸 + 各处 cap)
重编 TransPyV 自身时触发类型文本截断护栏:
  [MLIR-FAIL] MLIR 渲染: 类型文本超出输出缓冲被截断(该处缓冲过小,需按类型长度增大)
  (PhaseA ./TransPyV/App/lib/core/CompilerFactory.vp)

根因:内联具名结构体在使用处展开完整字段体,类型文本可达数百字节,而
_append_cstr / MlirTypeText / TypePrint / _MlirTypePrintDepth 的定长
cap(256/512/1024/2048)与对应 scratch 缓冲偏小。

修复(cap 与底层缓冲**成对**放大,保证 cap ≤ 缓冲,绝不越界):
- _MlirTablesInit:_SC_Ty/_SC_Ty2/_SC_Mt/_SC_Buf/_SC_B1/_SC_B2 512→4096、
  _SC_Tmp2/_SC_IdxT 1024→4096、_SC_ArgTs 2048→8192、_SC_Tmp 4096→8192;
- 以"别名 → 缓冲尺寸"追踪脚本放大各调用点 cap(77 处,含被当作 cap 缓冲使用的
  pool.alloc 同步 512/1024→4096),如 _MlirGep 的 idxt/bmt、_MlirCall 的
  argts/rmt/vftys、_MlirNamedStructAppend/TypePrint 的 tmp/rfb/tmp3 等;
- __builder.vp 的 _TY_TEXT_CAP 512→2048(类型文本内嵌缓冲 + cap;arg_cap 由它
  推导,不宜过高以免多参调用单次分配逼近模块池单块上限)。
2026-10-04 19:56:42 +08:00
TermiNexus bca0107240 fix(mlir): 模块缩进辅助缓冲改为池可服务的最大单块 1048560(1 MiB − 16)
256 KiB 对个别大函数偏小,触发自己加的截断护栏:
  [MLIR-FAIL] MLIR 渲染: 输出文本超出缓冲被截断(需增大 dump_ir/FunctionPrint 的缓冲)

模块池(~2 MiB 子池)max_order=15 ⇒ 单个 buddy 块最大 1 MiB,减去 16 字节块头
⇒ 单次 alloc 请求上限 = 1048560。取该值:既不再因 order 16 结构性失败
(1048576 会失败),又给足单函数文本(内联具名结构体使文本显著变长)。
若仍超出,截断由 FunctionPrint/LLVMModulePrint 的截断检查响亮报错。
2026-10-04 18:25:57 +08:00
TermiNexus 1cf7186824 fix(mlir): 模块缩进辅助缓冲 1 MiB → 256 KiB(1 MiB 超出模块池 buddy 上限)
Test 6(ModulePrint)运行期分配失败:
  [MEM] alloc 失败 size=1048576 needed=1048592 order=16 max_order=15
        池容量=2096864

模块池是 ~2 MiB 子池(SUB_POOL_SIZE 2097136),max_order=15 ⇒ 单个 buddy 块
≤ 1 MiB;再加上 16 字节块头,单次 alloc 请求必须 ≤ 1 MiB − 16。请求 1048576
被判需 order 16 ⇒ **结构性失败**(与池内剩余空间多少无关)。

改为 256 KiB:实测最大单成员文本仅 ~54 KB(670 KB 模块 / 12296 行 / 最大函数
991 行,平均 ~54 B/行),余量 ~4.7×;且只需 order 14(512 KiB 块)。
截断仍由 FunctionPrint/LLVMModulePrint 的截断检查响亮报错。
2026-10-03 22:28:34 +08:00
TermiNexus 1860259659 fix(mlir): 具名结构体统一按模块登记定义渲染(同名同体)
mlir-opt 报:
  error: identified type already used with a different body
      %110 = llvm.getelementptr %109[0, 1] : (!llvm.ptr) -> !llvm.ptr,
             !llvm.struct<"0ba5c56e78e3ff23.ParamNode", ()>

同一具名结构体在模块内出现两种体:多数处是 `(!llvm.ptr, !llvm.ptr)`(2 字段),
两处是 `()`(0 字段)。MLIR 的 identified type 要求**同名同体**。

根因:跨模块 stub 构造的**0 字段占位类型对象**被 TypePrint 内联成 `()` 体;
而 `_MlirTypeAppend` 对 `!` 前缀文本(`!llvm.struct<"name", …>`)原样直通,
也不回查登记表。

修复:新增 `_MlirNamedBodyFromTable`(按名字回查登记表,用**模块登记定义**渲染),
两条路径都先回查:
- `_MlirTypeAppend`:`!llvm.struct<"name", …>` 文本命中登记表则改用登记定义重渲;
- `TypePrint` 的 Struct 分支:命中登记表则用登记字段(含 packed 标记)替代自身字段。
未登记(独立 TypePrint / 外在类型)保持原行为(按自身字段内联)。

README §2.10 补"同名同体"硬性约束说明。
2026-10-03 22:18:29 +08:00
TermiNexus f95eb8016b fix(mlir): i1 常量物化用裸布尔关键字(true/false 不带 : i1)
mlir-opt 报:
  error: expected ')'
      %c7 = llvm.mlir.constant(false : i1) : i1

`true`/`false` 是 MLIR 的裸布尔关键字,不能再带类型后缀(其余标量必须写
`值 : 类型`)。

修复两处常量物化:
- `_MlirEmitOneConst`(函数内常量);
- `_MlirGvEmitConst`(全局初值 region 叶子 op)。

README §2.3 常量表补 i1 行。
2026-10-03 22:11:45 +08:00
TermiNexus a7aaed01f4 fix(mlir): LLVM intrinsic 调用改走 llvm.call_intrinsic,声明不输出
mlir-translate 是**程序化构造** LLVM IR,不像 LLVM 的 IR 解析器那样把旧式
intrinsic 名 upgrade 成带类型后缀的形式。原先 `@llvm.va_start` 走普通
llvm.call,且 declare 被原样输出为 `llvm.func @llvm.va_start`,降级得到未
mangle 的 `@llvm.va_start`,LLVM 校验报:

  Intrinsic name not mangled correctly for type arguments!
  Should be: llvm.va_start.p0
  ptr @llvm.va_start

修复:
- `_MlirCall`:裸符号名以 `llvm.` 开头(且非 `llvm.mlir.*`)的调用改渲染为
  `llvm.call_intrinsic "llvm.xxx"(...) : (...) -> ...`,由 mlir-translate
  按操作数类型自动 mangle 名字(llvm.va_start -> llvm.va_start.p0);
- `FunctionPrint`:intrinsic 的 declare **不输出**(否则残留的
  `llvm.func @llvm.va_start` 仍会触发同一校验错误)。

README §2.1 映射表补 intrinsic 行,§2.9 新增 ③′ 说明。
2026-10-03 22:05:30 +08:00
TermiNexus 31fe1bae58 fix(mlir): 补 _MlirModOutTrunc 声明(截断标志此前未落盘)
LLVMModulePrint 已在 bff0f20 使用 global _MlirModOutTrunc,但模块级声明
未随之提交,补上 `_MlirModOutTrunc: int`(否则模块输出截断检查无法编译)。

本文件同时包含一次行尾规范化(mixed -> CRLF),使 diff 显示为全文改动;
忽略空白后实际仅此 1 行内容变化。
2026-10-03 21:33:56 +08:00
TermiNexus aa94d67183 fix(mlir): GEP 常量索引写字面量并修正类型列表
mlir-opt 的 llvm.getelementptr 要求“索引到结构体”的索引必须是常量字面量,
而 _MlirGep 原先把常量索引经 _MlirOperand 物化成 SSA 操作数(%cN),
触发 verifier:
  error: 'llvm.getelementptr' op expected index 1 indexing a struct to be constant

按 MLIR LLVMDialect 的定义修正为官方形态:
- 常量索引 -> 整数字面量([0, 1]),不物化、不占类型位;
- 仅 SSA 索引物化为操作数,其类型进入 (...) 类型列表。

同步修正 README §2.1 映射表(原 [%c0, %c1] : (!llvm.ptr, i32, i32) 形态错误),
并在 §2.3 补充“常量必须物化”的 GEP 索引例外说明。
2026-10-03 21:33:25 +08:00
TermiNexus bff0f20f51 fix(mlir): 模块/函数输出缓冲截断响亮报错 + 缩进辅助缓冲 64 KiB → 1 MiB
dump_ir 的输出缓冲(8/16 MB)此前用 _append_cstr **静默**丢内容 —— MLIR 文本因
内联具名结构体完整字段体而明显长于 LLVM IR,一旦超出就得到被截断的半截模块,
mlir-opt 只会报难以定位的语法错。

- __module.vp:_append_cstr 写入被截断时置 _MlirModOutTrunc;LLVMModulePrint
  结束前检查并 MlirFail;模块缩进辅助缓冲 64 KiB → 1 MiB(tmp_cap),并把该
  缓冲分配失败也改为响亮报错(否则会静默漏印全部模块成员)
- __function.vp:_append_cstr 写入被截断时置 _MlirOutTrunc;FunctionPrint
  三个出口(declare / 无基本块 / 正常结束)均检查并 MlirFail
2026-10-03 21:15:34 +08:00
TermiNexus a502c7242f fix(mlir): 类型文本缓冲按长度给足 + 截断响亮报错(系统性)
根因:MLIR 把具名结构体内联为完整字段体(`!llvm.struct<"名", (i32, !llvm.ptr, …)>`),
单个类型文本可达数百字节,远长于 LLVM 形态的 `%"名"` 引用(十几字节);而 builders
仍按旧的短类型尺寸分配(128/256),指令行里的类型被截断 → 畸形 MLIR。
实测:alloca 行类型被 128 字节缓冲截断,mlir-opt 报
"unbalanced '(' character in pretty dialect name"。

- __types.vp:新增截断溢出标志 _MlirTypeTrunc(_strappend/_MlirAppendN 写入
  被截断时置位),TypePrint / MlirTypeText 渲染后检查并 MlirFail —— 任何截断
  都不再静默产出畸形 MLIR
- __builder.vp:新增 _TY_TEXT_CAP(512)/_LINE_CAP(2560),全部指令行缓冲(alloca
  /ret/load/store/各类 cast/gep/icmp/fcmp/select/atomicrmw/cmpxchg/va_arg/switch
  /case/inline_asm…)改为 _LINE_CAP;build_call / build_call_indirect 的实参表
  与行缓冲按实参个数与实际长度动态分配(原固定 1024/2048 会在两个以上结构体
  实参时静默截断)
- __values.vp:ValuePrint 的类型缓冲 256 → 512
2026-10-03 21:07:55 +08:00
TermiNexus 33d5737f0c feat(mlir): 补齐 f16/f128 浮点位模式物化
ConstFloat 现按类型宽度产出位模式:f16 → 0x%04x(t.CFloat16T 按 half 舍入后取
2 字节)、f32 → 0x%08x、f64 → 0x%016llx、f128 → 高低两个 64 位字拼成 32 位
十六进制(t.CFloat128T 为 double 的无损扩展;c.Load 的宽度取源指针 pointee,
故源显式转成 u64*,避免按 16 字节写入 8 字节目标而越界)。name_buf 由 32 增至
64(f128 文本需 35 字节)。

- _MlirFloatLiteral 接受 f16/f128 原样直通,并新增“位模式位数与类型是否相符”
  强校验(f16/f32/f64/f128 ↔ 4/8/16/32 位十六进制;MLIR 按类型宽度解释该十六进制值)
- README §2.3 常量表 / §5 打印阶段转换说明同步
2026-10-03 20:52:02 +08:00
TermiNexus 597e0e5c4a fix(mlir): ConstFloat 的 f32 位模式改取 float 编码(原取 double 低 32 位)
ConstFloat 以 CDouble 形参接收值,原先 f_bits==32 时直接取 double 位模式的低
32 位当作 f32 位模式 —— 这是错的:3.14 的 double 是 0x40091EB851EB851F,
低 32 位为 0x51EB851F,而 f32 编码应为 0x4048F5C3。
影响以 Float(32) 为类型调用 ConstFloat 的路径(如模块级 t.CFloat 全局初始化
器,TranslatorGenMixin.vp:1014 传 var_ty);指令里的浮点字面量恒以 Double(pool)
创建,不受影响。

- f_bits==32:先 t.CFloat(val) 按 f32 舍入,再 Load 其 4 字节编码
- 更新函数注释:Name 为位模式文本,MLIR FloatAttr 按底层二进制位解释

已知残留(未改,下游会响亮报错):f16/f128 仍按 64 位格式化,宽度与类型不符。
2026-10-03 20:38:27 +08:00
TermiNexus f813c0543b fix(mlir): 浮点常量位模式原样直通,消除 %e 截断精度
MLIR FloatAttr 语法支持十六进制位模式(Builtin Dialect:
`hexadecimal-literal ':' float-type`,按底层二进制位解释),故 ConstFloat 产出的
`0x…` 无需转十进制。此前 _MlirFloatLiteral 把它转成 `%e`(默认 7 位有效数字):
3.141592653589793 → 3.141593e+00,静默截断,与 __values.vp 选位模式的初衷相悖。

- _MlirFloatLiteral:hex 且 mt 为 f32/f64 → 原样返回(无损);
  f16/f128 仍响亮报错(ConstFloat 只产出 64 位位模式,宽度与该两类型不符)
- 删除因此失效的 _MlirParseHexU64
- README §2.3 常量表 / §5 打印阶段转换说明同步
2026-10-03 20:35:37 +08:00
TermiNexus 751e7e7ef7 fix(mlir): 全局嵌套数组/聚合类型前缀走 region;补 MLIR 形态内层前缀剥离
生产者 TranslatorGenMixin._build_array_initializer_text 的嵌套数组初始化器写作
`[!llvm.array<16 x i8>[i8 0, …], …]`(内层类型前缀来自 mlirlite.TypePrint)。
两处缺口叠加导致渲染失败:
1) _MlirGlobalInitNeedsRegion 只按 '@'/'{' 判定是否走 region,嵌套数组被送进
   属性路径 _MlirArrayDenseAt —— 该路径只能表达"值 : 标量类型"的稠密数组,
   内层类型前缀与子 zeroinitializer 都无法表达;
2) _MlirGvWalk 只剥离 LLVM 形态前缀([N x T] / {…}),不认 MLIR 形态
   `!llvm.…` 前缀,元素被当叶子 → 报"全局初值叶子形态 v1 不支持"。

- _MlirGvHasSymOrStruct → _MlirGvArrayNeedsRegion:增认 '!' 前缀,路由到 region
- _MlirGvWalk:新增 MLIR 形态聚合类型前缀剥离(类型记号后紧跟 '[' / '{')
- README §2.5 同步初值两条路径与新增表项
2026-10-03 20:32:56 +08:00
TermiNexus b519269398 fix(mlir): 全局初值支持结构体类型前缀 {…} {…}
_MlirGvWalk 已处理数组类型前缀 `[N x TY][…]`,但 llvm.global_ctors 这类元素写成
`{ i32, void ()*, i8* } { i32 65535, void ()* @ctor, i8* null }` 时,首个花括号组
(类型)被误当字面量解析,报
[MLIR-FAIL] 全局初值叶子形态 v1 不支持:', void ()*, i8* } { i32 65535, … }]'。

- 新增 _MlirGvIsStructType:按深度配平读完首个花括号组(跳过引号内文本),
  其后非空白记号仍是 '{' ⇒ 前一花括号组是类型前缀(同一元素的花括号组之后
  只会是 ',' / ']' / '}' / 结束,故判据无歧义)
- _MlirGvWalk 增加对应的前缀剥离(与数组类型前缀同款处理)
2026-10-03 20:21:19 +08:00
TermiNexus d37d8520c2 fix(mlir): 类型文本转换直通 MLIR 浮点标量 f16/f32/f64/f128
builders 经 TypePrint 输出的内嵌类型已是 MLIR 形态(见本文件 TypePrint 段说明),
但 _MlirTypeAppend 只对 '!' 前缀原样直通,浮点标量落到兜底 fail:实测
`%0 = alloca f64` 报 [MLIR-FAIL] 无法转换为 MLIR 类型文本(v1 未覆盖该形态):'f64'。

- 补 'f' + 全数字直通(与 LLVM 形态 half/float/double/fp128 分支不冲突)
- 订正函数头注释与 MlirTypeText docstring:中间文本两种形态都接受
  (MLIR 常态直通 / LLVM 形态转写)
2026-10-03 20:12:48 +08:00
TermiNexus 07033094b7 refactor(backend): 删除 includes/llvmlite(单端 MLIR,发射器只留 mlirlite)
- TransPyV 全树已改为 import mlirlite;includes 内无任何模块 import llvmlite,删除后无悬空引用

- mlirlite 的注释保留对 llvmlite 的历史引用(同形孪生来源)
2026-10-03 19:27:11 +08:00
TermiNexus a99e44863d fix(gep): GEP 下标 zext 下沉到 build_gep/build_gep_array(唯一真源),修复窄整数下标被符号扩展导致越界 2026-10-03 13:35:31 +08:00
TermiNexus 99c1ad44c4 fix(mlirlite): 结构体字段链改用 ParamNode 访问器,消除 ParamNode*→Param* CastError
__module.vp 的 _MlirGvWalkStruct 遍历 LLVMType.Struct 字段链(cur 是 ParamNode*),却调用了 __function 的 param_get_ty/param_get_next(形参是 Param*)→ 触发编译器的「非基本类型指针间禁隐式转换」CastError(MLIRLiteTest 根因)。ParamNode(类型树字段节点)与 Param(函数参数,带名/属性)是两个刻意区分的类,不可合并。改为导入并使用 __types 的 paramnode_get_ty/paramnode_get_next;移除 __module.vp 中已无引用的 Param/param_get_ty/param_get_next 导入。未做指针强转(避免掩盖真实类型错误)。
2026-10-03 12:21:33 +08:00
TermiNexus 7bd4cda5be fix(llvmlite): 打印端跳过被同模块定义取代的 external global(消除 redefinition of global)
模块内不变量:同一符号名不得同时打印 external 声明与定义,否则 llc 报 redefinition of global(SysLibTest os/__init__ 的 _mbuddy:循环 import 使 LoadDepVpiIntoModule 把本模块自身 vpi 注入自身 → 先发 external,handle_module_level_var 再发定义)。新增 _module_has_initializer_global:OUTPUT_FULL/STUB/TEXT 三模式对无初值 GV,若模块内存在同名带初值定义则跳过。只处理本模块内同名声明+定义,依赖模块的合法 external(本模块无同名定义)一律保留,不做跨模块去重(与 TransPyC Phase2Translator 合并期 external 去重同构)。
2026-10-03 12:17:39 +08:00
TermiNexus 7f3b3dea1a feat(parser): switch 的 case/default 支持 if 守卫
_parse_switch_case / _parse_switch_default 解析可选 `if <cond>` 并传入 MatchCase.guard(原为直接报错 / 写死 None),与 _parse_match_case 同款写法。
2026-10-03 10:58:53 +08:00
TermiNexus 7b006c96a0 feat(mlirlite): 补齐 Debug Info 同形 API,导出名集与 llvmlite 一致(215=215)
- __module.vp: 新增 DINode/DINamedMeta 类、LLVMModule 追加 6 个 DI 字段(96->144B)、module_add_di_node/module_add_named_metadata 及实例方法、DI_NODE_SIZE/DI_NAMED_SIZE

- __function.vp: Function 追加 DbgRef(80->88B) + function_set_dbg

- __builder.vp: IRBuilder 追加 DbgLoc(32->40B) + set/clear_debug_location 方法 + 顶层 builder_set/clear_debug_location

- __init__.vp: 导出上述 7 个 DI 名字,恢复与 llvmlite 的逐名同形(215=215)

- MLIR 打印阶段忽略 DI:LLVMModulePrint 不输出 !N 元数据、_emit 不读 DbgLoc,保持 MLIR 语法合法(DI 只记录不输出)

- README: 记录 DI 为「同形保留/只记录不输出」,名字数更新为 215
2026-10-03 07:43:03 +08:00
TermiNexus 1e6082afe9 fix(switch): case 标签支持裸名(按值引用)并给出常量标签 fail-fast
- 裸名在 match 里是捕获模式(MatchAs),switch 里对齐 C 的 `case NAME:` 语义,
  三端解析均归一为 MatchValue(Name);`_` 仍作通配(等价 default)
- includes/ast/parser.vp、lib/vast/Parser.py、lib/vast_c/vast_c.c 同步实现
- HandlesMatch:case 标签求值非编译期常量时 fail-fast(原先会因取 .constant 崩成
  AttributeError),报文明确“case 标签必须是编译期常量”
2026-10-03 00:14:51 +08:00
TermiNexus 2c5b39456b feat(ast): 新增 switch 关键字与 switch 语句,match 完全禁止 fallthrough
- tokens.vp:Keyword 表尾追加 Switch / FallThrough,并 intern "switch"/"fallthrough"(既有编号不变)
- stmts.vp:Match 增加 is_switch 字段(switch 语法糖 desugar 的标记);FallThrough 注释改为仅 switch 合法
- parser.vp:match / fallthrough 改为硬关键字分派(去掉软关键字 lookahead);新增 _parse_switch(case 常量/枚举变体/多值 + default:)
- lexer.vp:局部变量 match 改名 Matched(match 已为硬关键字)
2026-10-02 23:15:13 +08:00
TermiNexus b85f49ab35 feat(ast): 新增 fallthrough 软关键字语句节点 FallThrough
- base.vp:ASTKind 末尾追加 FallThrough(append 保持既有枚举值不变)
- stmts.vp:FallThrough 语句节点(kind / type_name / dump)
- parser.vp:语句位置识别裸 `fallthrough`(仅整条语句命中;fallthrough = 1 /
  fallthrough(x) / d.fallthrough 等作标识符的写法不受影响)
- __init__.vp:导出 FallThrough
2026-10-02 22:33:15 +08:00
TermiNexus 1566df068f feat(stub): 以 viperbuild.vpnci 替换 project_build.vpnci
viperbuild 是编译器内建宏库(与 t / c / ctraits 同级),存根仅供 Vipeye 解析;
文件名与 import 名保持一致,注释改为英文,并移除旧的 project_build.vpnci。
2026-10-02 22:07:01 +08:00
1769 changed files with 25817 additions and 588968 deletions

No files matched your search

+80 -80
View File
@@ -1,80 +1,80 @@
# Python
**/__pycache__/
*.py[cod]
*$py.class
*.so
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib64/
parts/
sdist/
var/
wheels/
*.egg-info/
.installed.cfg
*.egg
# 编译输出
*.exe
*.out
*.o
*.obj
*.a
*.lib
*.dll
*.so
.transpyc_cache/
/openssl/.openssl_358_C
# 调试文件
*.p2c
debug.txt
*.ll
# 备份文件
* copy.py
* copy.c
# IDE
.vscode/
.idea/
*.swp
*.swo
*~
# 磁盘镜像
*.img
*.vmdk
*.7z
*.fd
# 日志文件
*.log
# 字体文件
*.ttc
*.ttf
# Trae AI
.trae/
# 编译
**/output/
**/temp/
**/.tpv_build/
# wiki
/wiki/
/includes_rowptr_bk/
/Venom/
/ViperOS_/
/TPVAppBK/
/TPVAppBK2/
# Python
**/__pycache__/
*.py[cod]
*$py.class
*.so
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib64/
parts/
sdist/
var/
wheels/
*.egg-info/
.installed.cfg
*.egg
# 编译输出
*.exe
*.out
*.o
*.obj
*.a
*.lib
*.dll
*.so
.transpyc_cache/
/openssl/.openssl_358_C
# 调试文件
*.p2c
debug.txt
*.ll
# 备份文件
* copy.py
* copy.c
# IDE
.vscode/
.idea/
*.swp
*.swo
*~
# 磁盘镜像
*.img
*.vmdk
*.7z
*.fd
# 日志文件
*.log
# 字体文件
*.ttc
*.ttf
# Trae AI
.trae/
# 编译
**/output/
**/temp/
**/__vpcbuild__/
# wiki
/wiki/
/includes_rowptr_bk/
/Venom/
/ViperOS_/
/TPVAppBK/
/TPVAppBK2/
+13 -18
View File
@@ -1,4 +1,3 @@
import t, c
import memhub
import string
import json
@@ -28,8 +27,8 @@ class dict:
mb: memhub.MemBuddy = memhub.MemBuddy(arena, arena_size)
d: dict = dict(mb)
d.set_int("x", 42)
p: t.CPtr = d["x"]
v: int = c.Deref((int*)(p)) # int 值按 i32 存,读回须给 int* 视图
p: rawptr = d["x"]
v: int = c.Deref((int*)(p)) # int value stored as i32; read it back with an int* view
# Nested dict
inner: dict = dict(mb)
@@ -59,12 +58,9 @@ class dict:
def _find(self, key: str) -> sizet:
"""Find index of target key; returns __count__ if not found"""
for i in range(self.__count__):
# 元素地址:`T*(base + byte_offset)`。裸指针 rawptr 即 i8*,其上的 `+`
# 按 **1 字节**缩放 ⇒ 与原先 `uint64(base) + n` 再强转回指针逐字等价,
# 故去掉整数往返(与 _list.vp 同口径)。
# 下面 __getitem__/_set_variant_raw/get/get_vtype/__next__/to_json 同此式,
# 不再重复注释。
for i in range(int(self.__count__)):
# Element address: `T*(base + byte_offset)`. rawptr is i8* and `+` scales by 1 byte, byte-identical to the old uint64(base)+n form (no integer round-trip).
# Same form below (__getitem__/_set_variant_raw/get/get_vtype/__next__/to_json), not annotated again.
key_ptr: str* = str*(self.__keys__ + i * 8)
if string.strcmp(key_ptr[0], key) == 0: return i
return self.__count__
@@ -78,13 +74,14 @@ class dict:
val_ptr: str* = str*(self.__values__ + idx * _VARIANT_SIZE + 8)
return *val_ptr
def __setitem__(self, key: str, val: t.CNeedPtr):
"""Store value as VARIANT_PTR. Address is automatically resolved via t.CNeedPtr.
def __setitem__(self, key: str, val: &temp void):
"""Store value as VARIANT_PTR. The address of val is taken automatically
(non-pointer values are materialized on the caller's stack).
Note: Lifecycle of the data pointed to by val is managed by caller.
Use typed methods such as set_int / set_str for persistent storage."""
self._set_variant_raw(key, VARIANT_PTR, val)
def _set_variant_raw(self, key: str, vtype: int, ptr: t.CPtr):
def _set_variant_raw(self, key: str, vtype: int, ptr: rawptr):
"""Internal method: store Variant entry (vtype + ptr). No automatic address resolution."""
idx: sizet = self._find(key)
if idx < self.__count__:
@@ -145,7 +142,7 @@ class dict:
"""Store nested dictionary pointer (VARIANT_DICT)."""
self._set_variant_raw(key, VARIANT_DICT, val)
def set_list(self, key: str, val: t.CPtr):
def set_list(self, key: str, val: rawptr):
"""Store nested list pointer (VARIANT_LIST)."""
self._set_variant_raw(key, VARIANT_LIST, val)
@@ -168,7 +165,7 @@ class dict:
vtype_ptr: int* = int*(self.__values__ + idx * _VARIANT_SIZE)
return vtype_ptr[0]
def get(self, key: str, default: t.CPtr) -> t.CPtr:
def get(self, key: str, default: rawptr) -> rawptr:
"""Return value pointer; return default pointer if key does not exist."""
idx: sizet = self._find(key)
if idx >= self.__count__:
@@ -202,8 +199,7 @@ class dict:
"""Convert dict instance to JsonValue object (JSON_OBJECT).
Automatically select corresponding JSON value type according to Variant tag."""
obj: json.JsonValue* = json.object(pool)
i: sizet = 0
while i < self.__count__:
for i in range(int(self.__count__)):
key_ptr: str* = str*(self.__keys__ + i * 8)
vtype_ptr: int* = int*(self.__values__ + i * _VARIANT_SIZE)
val_ptr: str* = str*(self.__values__ + i * _VARIANT_SIZE + 8)
@@ -232,7 +228,6 @@ class dict:
ip: int* = int*(vp)
jv.int_val = ip[0]
json.object_set(pool, obj, key_ptr[0], jv)
i += 1
return obj
def from_json(self, pool: memhub.MemManager*, root: json.JsonValue*):
@@ -248,7 +243,7 @@ class dict:
if cur.vtype == 2: # JSON_INT
storage: rawptr = self.__mbuddy__.alloc(8)
ip: int* = int*(storage)
ip[0] = cur.int_val
ip[0] = int(cur.int_val)
self._set_variant_raw(cur.key, VARIANT_INT, storage)
elif cur.vtype == 4: # JSON_STRING
self._set_variant_raw(cur.key, VARIANT_STR, cur.str_val)
+9 -9
View File
@@ -22,7 +22,7 @@ class _str:
for i, ch in enumerate(src):
if ch >= 97:
if ch <= 122:
buf[i] = ch - 32
buf[i] = char(ch - 32)
else:
buf[i] = ch
else:
@@ -38,7 +38,7 @@ class _str:
for i, ch in enumerate(src):
if ch >= 65:
if ch <= 90:
buf[i] = ch + 32
buf[i] = char(ch + 32)
else:
buf[i] = ch
else:
@@ -57,7 +57,7 @@ class _str:
first = False
if ch >= 97:
if ch <= 122:
buf[i] = ch - 32
buf[i] = char(ch - 32)
else:
buf[i] = ch
else:
@@ -65,7 +65,7 @@ class _str:
else:
if ch >= 65:
if ch <= 90:
buf[i] = ch + 32
buf[i] = char(ch + 32)
else:
buf[i] = ch
else:
@@ -81,13 +81,13 @@ class _str:
for i, ch in enumerate(src):
if ch >= 97:
if ch <= 122:
buf[i] = ch - 32
buf[i] = char(ch - 32)
else:
buf[i] = ch
else:
if ch >= 65:
if ch <= 90:
buf[i] = ch + 32
buf[i] = char(ch + 32)
else:
buf[i] = ch
else:
@@ -114,7 +114,7 @@ class _str:
if prev_alpha:
if ch >= 65:
if ch <= 90:
buf[i] = ch + 32
buf[i] = char(ch + 32)
else:
buf[i] = ch
else:
@@ -122,7 +122,7 @@ class _str:
else:
if ch >= 97:
if ch <= 122:
buf[i] = ch - 32
buf[i] = char(ch - 32)
else:
buf[i] = ch
else:
@@ -141,7 +141,7 @@ class _str:
for i, ch in enumerate(src):
if ch >= 65:
if ch <= 90:
buf[i] = ch + 32
buf[i] = char(ch + 32)
else:
buf[i] = ch
else:
+2 -8
View File
@@ -47,14 +47,8 @@ class list[T]:
string.memcpy(new_data, self.__data__, self.__count__ * self.__elem_size__)
self.__data__ = new_data
self.__capacity__ = new_cap
# 元素地址:`T*(self.__data__ + i * elem_size)`。
# · rawptr 就是 i8*,i8* 上的 `+` 按 **1 字节**缩放(ExprGenOps 的指针算术分流
# → ExprGenBase.translate_ptr_arith 按 pointee 大小缩放)⇒ 与原先
# `uint64(ptr) + n` 再强转回指针**逐字等价**,故去掉整数往返。
# · 步长仍由 __elem_size__ **显式**给出,不能改成下标访问(`__data__[i]` 会按
# sizeof(T) 缩放):list[int](pool, 8) / list[str](pool, 64) 这类"按显式步长
# 当字节缓冲"的用法依赖它。
# 下面 get/set/__getitem__/__setitem__/pop/__next__ 同此式,不再重复注释。
# Element address: `T*(self.__data__ + i * elem_size)`. rawptr is i8* and `+` scales by 1 byte, byte-identical to the old uint64(ptr)+n form (no integer round-trip).
# The stride is explicit via __elem_size__; do not use indexing (`__data__[i]` scales by sizeof(T)) since list[int](pool, 8) / list[str](pool, 64) rely on the explicit byte stride. Same form below (get/set/__getitem__/__setitem__/pop/__next__).
elem_ptr: T* = T*(self.__data__ + self.__count__ * self.__elem_size__)
*elem_ptr = item
self.__count__ += 1
+6 -8
View File
@@ -1,6 +1,3 @@
import t
# Variant type tags (fixed enumeration + custom pointer type)
define VARIANT_NONE = 0 # Untyped / null value
define VARIANT_INT = 1 # int (i64)
@@ -18,19 +15,20 @@ class Variant:
Used for universal object storage inside dict/list, supports nesting and JSON serialization.
Usage:
v: Variant = Variant(VARIANT_INT, t.CNeedPtr(42))
v2: Variant = Variant(VARIANT_STR, t.CNeedPtr("hello"))
v: Variant = Variant(VARIANT_INT, 42)
v2: Variant = Variant(VARIANT_STR, "hello")
# Retrieve value
ptr: rawptr = v.ptr
i: int = *((int*)(ptr)) # int 值按 i32 存,读回须给 int* 视图
i: int = *((int*)(ptr)) # int values are stored as i32, so read them back through an int* view
"""
vtype: int
ptr: rawptr
def __init__(self, vtype: int, val: t.CNeedPtr):
def __init__(self, vtype: int, val: &temp void):
"""Construct Variant instance.
t.CNeedPtr automatically obtains address of val (non-pointer values will be allocated on stack and stored).
`&temp void` takes the address of val: non-pointer values are materialized on the
caller's stack, values that are already pointers are stored as-is.
Note: The lifecycle of val is managed by the caller; Variant only stores a pointer reference.
"""
self.vtype = vtype
+6 -12
View File
@@ -1,6 +1,5 @@
import t, c
from stdint import *
from w32.win32process import TlsAlloc, TlsGetValue, TlsSetValue
from win32.win32process import TlsAlloc, TlsGetValue, TlsSetValue
import stdlib
import stdio
import string
@@ -23,13 +22,11 @@ class _ProviderStack:
_tls_index: ulong = 0
@t.TLS
def _init_tls():
tls def _init_tls():
"""Initialize TLS index (executes once; subsequent calls are skipped)."""
global _tls_index
# 双保险:TPV 已正式实现 @t.TLS(函数级一次性守卫,首次执行后置
# __tls_init_done 标志,后续调用直接返回),此判重守卫保留以兼容
# 尚未重建的旧 TPV.exe。_tls_index 初始为 0(TlsAlloc 成功不会返回 0)。
# Double guard: VPC now implements @t.TLS (a per-function one-shot guard setting __tls_init_done), but this re-check is kept for compatibility with older VPC.exe builds.
# _tls_index starts at 0 (TlsAlloc never returns 0 on success).
if _tls_index == 0:
_tls_index = TlsAlloc()
@@ -67,11 +64,8 @@ def _find_provider(field_name: str) -> rawptr:
"""Search for matching field_name starting from stack top.
Return associated pointer, or NULL if no match found."""
stack: _ProviderStack* = _get_stack()
# 上界显式转 t.CInt(有符号):本循环是「递减 + stop 为 -1」形态,若上界
# 被当作无符号(stack.top 是 uint64 字段),比较谓词会退化为 ugt,而 -1 在
# 无符号域是 UINT32_MAX ⇒ 条件恒假、循环体不可达、本函数恒返回 NULL(with 的
# __mbuddy__ 注入全部失效,_str.upper 对 NULL 取 vtable 崩溃)。显式转换让
# 符号域与递减语义一致,与编译器侧「stop 为负字面量时退回有符号谓词」互为双保险。
# Upper bound explicitly cast to t.CInt (signed): the loop is "decrement, stop at -1". If the bound were unsigned (stack.top is a uint64 field), the predicate would degrade to ugt and -1 (= UINT32_MAX unsigned) would make it always false, so the loop body is unreachable and this function always returns NULL (all with-injections break, and _str.upper crashes taking a vtable from NULL).
# The explicit cast keeps the signed domain consistent with the decrement semantics.
for i in range(int(stack.top) - 1, -1, -1):
# Content comparison: every string literal gets its own constant, so the
# push/find pointers differ and pointer equality never matches.
+40 -50
View File
@@ -1,4 +1,4 @@
import t, c
import t
import string
import memhub
import stdio
@@ -90,14 +90,14 @@ class ParsedArgs:
if self._ht.__contains__(name) == 0:
return 0
ptr: t.CPtr = self._ht[name]
return c.Deref(t.CInt(t.CUInt64T(ptr), t.CPtr))
return *(int*(ptr))
def get_bool(self, name: str) -> bool:
"""Fetch boolean value. Returns false if key not found."""
if self._ht.__contains__(name) == 0:
return False
ptr: t.CPtr = self._ht[name]
return c.Deref(t.CInt(t.CUInt64T(ptr), t.CPtr)) != 0
ptr: rawptr = self._ht[name]
return *(int*(ptr)) != 0
def has(self, name: str) -> bool:
"""Check whether specified key exists."""
@@ -123,16 +123,16 @@ class ParsedArgs:
class ArgumentParser:
_prog: str
_description: str
_args: Argument | t.CPtr
_args: Argument*
_arg_count: int
__mbuddy__: memhub.MemBuddy*
def __new__(self, prog: str = "", description: str = "",
pool: memhub.MemBuddy* = None) -> t.CPtr:
pool: memhub.MemBuddy* = None) -> rawptr:
mb: memhub.MemBuddy* = pool
if mb is None:
mb = _mbuddy
ret: t.CPtr = mb.alloc(40)
ret: rawptr = mb.alloc(40)
return ret
def __init__(self, prog: str = "", description: str = "",
@@ -165,7 +165,7 @@ class ArgumentParser:
if self._arg_count >= MAX_ARGS:
return
idx: int = self._arg_count
arg: Argument | t.CPtr = t.CPtr(t.CUInt64T(self._args) + idx * Argument.__sizeof__())
arg: Argument* = t.CPtr(uint64(self._args) + idx * Argument.__sizeof__())
arg.name = name
arg.short_name = short
arg.help_text = help
@@ -186,55 +186,47 @@ class ArgumentParser:
arg.dest = name + 1
self._arg_count = idx + 1
def _get_arg(self, idx: int) -> Argument | t.CPtr:
return t.CPtr(t.CUInt64T(self._args) + idx * Argument.__sizeof__())
def _get_arg(self, idx: int) -> Argument*:
return t.CPtr(uint64(self._args) + idx * Argument.__sizeof__())
def _find_long(self, token: str) -> int:
"""Exact match for long option name"""
i: int = 0
while i < self._arg_count:
arg: Argument | t.CPtr = self._get_arg(i)
for i in range(int(self._arg_count)):
arg: Argument* = self._get_arg(i)
if string.strcmp(arg.name, token) == 0:
return i
i += 1
return -1
def _find_long_prefix(self, token: str) -> int:
"""Match prefix for --name=value syntax"""
i: int = 0
while i < self._arg_count:
arg: Argument | t.CPtr = self._get_arg(i)
name_len: int = string.strlen(arg.name)
for i in range(int(self._arg_count)):
arg: Argument* = self._get_arg(i)
name_len: int = int(string.strlen(arg.name)) # 显式 cast:避免 64→32 隐式窄化
if string.strncmp(token, arg.name, name_len) == 0:
if token[name_len] == '=':
return i
i += 1
return -1
def _find_short(self, token: str) -> int:
i: int = 0
while i < self._arg_count:
arg: Argument | t.CPtr = self._get_arg(i)
for i in range(int(self._arg_count)):
arg: Argument* = self._get_arg(i)
if arg.short_name is not None:
if string.strcmp(arg.short_name, token) == 0:
return i
i += 1
return -1
def _find_positional(self, pos_idx: int) -> int:
count: int = 0
i: int = 0
while i < self._arg_count:
arg: Argument | t.CPtr = self._get_arg(i)
for i in range(int(self._arg_count)):
arg: Argument* = self._get_arg(i)
if arg.is_positional:
if count == pos_idx:
return i
count += 1
i += 1
return -1
def _store_value(self, args: ParsedArgs | t.CPtr,
arg: Argument | t.CPtr, value: str):
def _store_value(self, args: ParsedArgs*,
arg: Argument*, value: str):
if arg.arg_type == INT:
args._set_int(arg.dest, string.atoi(value))
elif arg.arg_type == STRING:
@@ -243,7 +235,7 @@ class ArgumentParser:
v: int = string.atoi(value)
args._set_bool(arg.dest, v != 0)
def _apply_action(self, args: ParsedArgs | t.CPtr, arg: Argument | t.CPtr):
def _apply_action(self, args: ParsedArgs*, arg: Argument*):
if arg.action == STORE_TRUE:
args._set_bool(arg.dest, True)
elif arg.action == STORE_FALSE:
@@ -252,7 +244,7 @@ class ArgumentParser:
cur: int = args.get_int(arg.dest)
args._set_int(arg.dest, cur + 1)
def parse_args(self, argc: int, argv: str | t.CPtr) -> ParsedArgs | t.CPtr:
def parse_args(self, argc: int, argv: str*) -> ParsedArgs*:
"""Parse command line arguments.
Args:
@@ -264,18 +256,22 @@ class ArgumentParser:
if self.__mbuddy__ is None:
return None
args: ParsedArgs | t.CPtr = ParsedArgs(self.__mbuddy__)
args: ParsedArgs* = ParsedArgs(self.__mbuddy__)
if args is None:
return None
# Initialize default values
i: int = 0
while i < self._arg_count:
arg: Argument | t.CPtr = self._get_arg(i)
arg: Argument* = self._get_arg(i)
if arg.action == STORE:
if arg.arg_type == INT:
args._set_int(arg.dest, arg.default_int)
elif arg.arg_type == STRING:
args._set_str(arg.dest, arg.default_str)
# A NULL default means "no default": skip the insert. Otherwise the key exists
# with a NULL value, has() reports the argument as present, and the required
# check at the end of this function can never fire for a string argument.
if arg.default_str is not None:
args._set_str(arg.dest, arg.default_str)
elif arg.action == STORE_TRUE:
args._set_bool(arg.dest, False)
elif arg.action == STORE_FALSE:
@@ -289,12 +285,11 @@ class ArgumentParser:
pos_idx: int = 0
token: str = None
found: int = 0
arg: Argument | t.CPtr = None
arg: Argument* = None
value: str = None
# argv 是 char**(`str | t.CPtr`),argv[idx] 直接给出该位置的 char*。
# 不要写成 `str*(uint64(argv) + idx*8)`:那样右值是 i8**,TPC 的赋值路径
# 会对"指针的指针"右值再解引用一次(多 load 一层)→ 取到野指针。
# argv is char** (`str | t.CPtr`); argv[idx] directly gives the char* at that position.
# Do NOT write `str*(uint64(argv) + idx*8)`: the right-hand side would be i8**, and TPC's assignment path dereferences a "pointer to pointer" rvalue one extra time (an extra load) -> a wild pointer.
while idx < argc:
token = argv[idx]
if token is None:
@@ -334,7 +329,7 @@ class ArgumentParser:
release(args)
return None
arg = self._get_arg(found)
arg_name_len: int = string.strlen(arg.name)
arg_name_len: int = int(string.strlen(arg.name)) # 显式 cast:避免 64→32 隐式窄化
value = token + arg_name_len + 1
self._store_value(args, arg, value)
idx += 1
@@ -391,15 +386,13 @@ class ArgumentParser:
idx += 1
# Validate required arguments
i = 0
while i < self._arg_count:
for i in range(int(self._arg_count)):
arg = self._get_arg(i)
if arg.required:
if not args.has(arg.dest):
stdio.printf("error: missing required argument '%s'\n", arg.name)
release(args)
return None
i += 1
return args
@@ -411,7 +404,7 @@ class ArgumentParser:
stdio.printf("\npositional arguments:\n")
i: int = 0
while i < self._arg_count:
arg: Argument | t.CPtr = self._get_arg(i)
arg: Argument* = self._get_arg(i)
if arg.is_positional:
ht: str = arg.help_text
if ht is None:
@@ -419,8 +412,7 @@ class ArgumentParser:
stdio.printf(" %-20s %s\n", arg.name, ht)
i += 1
stdio.printf("\noptional arguments:\n")
i = 0
while i < self._arg_count:
for i in range(int(self._arg_count)):
arg = self._get_arg(i)
if not arg.is_positional:
ht: str = arg.help_text
@@ -430,7 +422,6 @@ class ArgumentParser:
stdio.printf(" %s, %-18s %s\n", arg.short_name, arg.name, ht)
else:
stdio.printf(" %-22s %s\n", arg.name, ht)
i += 1
def print_usage(self):
"""Print brief usage summary"""
@@ -441,14 +432,13 @@ class ArgumentParser:
# release — Release ParsedArgs and all internal resources
# ============================================================
def release(args: rawptr[ParsedArgs]):
def release(args: ParsedArgs*):
"""Free ParsedArgs object and its inner HashTable resources."""
if args is None: return
if args.__mbuddy__ is None: return
if args._ht is not None:
# 用临时变量拆分链式属性访问,避免 args._ht.__slots__ 跨模块类型推断失败
# 注意:类型注解必须用 hashtable.HashTable(带模块前缀),
# 否则编译器无法解析 HashTable 类型,导致 ht.__slots__ 属性访问失败
# Split the chained attribute access with a temp variable to avoid cross-module type inference failure for args._ht.__slots__.
# Note: the type annotation must be hashtable.HashTable (module-prefixed), otherwise the compiler cannot resolve HashTable and ht.__slots__ access fails.
ht: hashtable.HashTable* = args._ht
if ht.__slots__ is not None:
args.__mbuddy__.free(ht.__slots__)
+12 -2
View File
@@ -52,8 +52,18 @@ def outl(port: uint16, value: uint32):
op = [ASM_DESCR.CLOBBER_RDX, ASM_DESCR.CLOBBER_RAX])
def io_wait():
__asm__(f"mov dx, 0x80; out dx, al",
op = [ASM_DESCR.CLOBBER_MEMORY, ASM_DESCR.CLOBBER_DX])
# ATA 规范的 I/O 延时:**连续 4 次读备选状态寄存器 0x3F6**。它是真实设备端口,每次 in
# 都是一次真实 I/O 往返,稳定给出 ≥400ns(规范要求命令块寄存器两次写之间至少 400ns)。
# 原先写的是诊断端口 0x80 —— 该端口背后没有设备,在 QEMU 上几乎不消耗时间,等于**没有
# 延时**:IDE 命令块寄存器(0x1F2..0x1F7)连写会丢写 ⇒ LBA 寄存器残留上一次的值 ⇒ 读到
# **别的扇区**的数据。现场(参见 0ee5ec5 与 serial.log):读根目录扇区 8192 却读回 ELF
# 文件头 ⇒ 目录项全是垃圾 ⇒ app spawn 失败;或 waitDataReady 超时 ⇒ diskio.read 报错。
__asm__(f"""mov dx, 0x3F6
in al, dx
in al, dx
in al, dx
in al, dx""",
op = [ASM_DESCR.CLOBBER_MEMORY, ASM_DESCR.CLOBBER_DX, ASM_DESCR.CLOBBER_RAX])
inline def pushall():
+16 -13
View File
@@ -1,7 +1,6 @@
import t, c
from stdint import *
import memhub
import string
# Import submodule
from .tokens import (
@@ -26,7 +25,7 @@ from .stmts import (
# Statement
FunctionDef, ClassDef, Return, Delete, Assign, AugAssign, AnnAssign,
For, While, If, With, Raise, Try, Assert, Global, Nonlocal,
Pass, Break, Continue, Expr, Import, ImportFrom, Match,
Pass, Break, Continue, FallThrough, Expr, Import, ImportFrom, Match,
)
# Expression Nodes: BoolOp, BinOp, UnaryOp, Lambda, IfExp, Dict, Set
from .exprs import (
@@ -37,6 +36,10 @@ from .exprs import (
Constant, NamedExpr, Attribute, Subscript, Starred, Name,
List, Tuple, Slice,
Call, Compare, OpNode,
# M2.4 `new` 描述符分配节点与描述符常量
New,
NEW_SRC_DEFAULT, NEW_SRC_STACK, NEW_SRC_HEAP, NEW_SRC_MEMGR,
NEW_LIFE_DEFAULT, NEW_LIFE_SLIFE, NEW_LIFE_HLIFE,
name_get_id, constant_get_str_val,
binop_get_left, binop_get_right,
@@ -69,7 +72,7 @@ _mbuddy: memhub.MemBuddy*
# ============================================================
# Common API: parse
# ============================================================
def parse(src: str, pool: rawptr[memhub.MemManager]) -> rawptr[AST]:
def parse(src: str, pool: memhub.MemManager*) -> AST*:
"""Parse Python source code, return the AST Module node.
Parameters:
@@ -81,16 +84,16 @@ def parse(src: str, pool: rawptr[memhub.MemManager]) -> rawptr[AST]:
"""
if src is None or pool is None: return None
_init_tables(pool)
lx: rawptr[Lexer] = new_lexer(pool)
lx: Lexer* = new_lexer(pool)
if lx is None: return None
_lexer_init(lx, src, pool)
tokens: rawptr[Token] = tokenize(lx)
tokens: Token* = tokenize(lx)
if tokens is None: return None
tree: rawptr[AST] = parse_tokens(pool, tokens)
tree: AST* = parse_tokens(pool, tokens)
return tree
def parse_expression(src: str, pool: rawptr[memhub.MemManager]) -> rawptr[Expression]:
def parse_expression(src: str, pool: memhub.MemManager*) -> Expression*:
"""Parse a single expression, return the Expression node.
Parameters:
@@ -98,17 +101,17 @@ def parse_expression(src: str, pool: rawptr[memhub.MemManager]) -> rawptr[Expres
pool: memhub.MemManager instance, to allocate AST nodes
Returns:
Expression node (包装节点,body 字段为实际表达式), or None
Expression node (wrapper; body holds the actual expression), or None
"""
if src is None or pool is None: return None
_init_tables(pool)
lx: rawptr[Lexer] = new_lexer(pool)
lx: Lexer* = new_lexer(pool)
if lx is None: return None
_lexer_init(lx, src, pool)
tokens: rawptr[Token] = tokenize(lx)
tokens: Token* = tokenize(lx)
if tokens is None: return None
ps: rawptr[Parser] = new_parser(pool)
ps: Parser* = new_parser(pool)
if ps is None: return None
_parser_init(ps, tokens, pool)
body: rawptr[AST] = _parse_test(ps)
body: AST* = _parse_test(ps)
return Expression(pool, body)
+47 -48
View File
@@ -1,4 +1,3 @@
import t, c
from stdint import *
import memhub
import string
@@ -14,15 +13,15 @@ from .base import (
# ============================================================
class ExceptHandler(AST):
"""ExceptHandler(type: AST, name: str)"""
type: rawptr[AST]
type: AST*
name: str
def __new__(self, pool: rawptr[memhub.MemManager], type: rawptr[AST], name: str):
ptr: rawptr[ExceptHandler] = pool.alloc(ExceptHandler.__sizeof__())
def __new__(self, pool: memhub.MemManager*, type: AST*, name: str):
ptr: ExceptHandler* = pool.alloc(ExceptHandler.__sizeof__())
if ptr: string.memset(ptr, 0, ExceptHandler.__sizeof__())
return ptr
def __init__(self, pool: rawptr[memhub.MemManager], type: rawptr[AST], name: str):
def __init__(self, pool: memhub.MemManager*, type: AST*, name: str):
_init_ast(self, pool, 0, 0)
self.type = type
self.name = _copy_str(pool, name)
@@ -53,26 +52,26 @@ class ExceptHandler(AST):
class Arguments(AST):
"""Arguments(args: list[AST | CPtr], vararg: AST, kwarg: AST,
defaults: list[AST | CPtr], kw_defaults: list[AST | CPtr])"""
args: rawptr[list[rawptr[AST]]]
vararg: rawptr[AST]
kwarg: rawptr[AST]
defaults: rawptr[list[rawptr[AST]]]
kw_defaults: rawptr[list[rawptr[AST]]]
args: list[AST*]*
vararg: AST*
kwarg: AST*
defaults: list[AST*]*
kw_defaults: list[AST*]*
def __new__(self, pool: rawptr[memhub.MemManager],
args: rawptr[list[rawptr[AST]]],
vararg: rawptr[AST], kwarg: rawptr[AST],
defaults: rawptr[list[rawptr[AST]]],
kw_defaults: rawptr[list[rawptr[AST]]]):
ptr: rawptr[Arguments] = pool.alloc(Arguments.__sizeof__())
def __new__(self, pool: memhub.MemManager*,
args: list[AST*]*,
vararg: AST*, kwarg: AST*,
defaults: list[AST*]*,
kw_defaults: list[AST*]*):
ptr: Arguments* = pool.alloc(Arguments.__sizeof__())
if ptr: string.memset(ptr, 0, Arguments.__sizeof__())
return ptr
def __init__(self, pool: rawptr[memhub.MemManager],
args: rawptr[list[rawptr[AST]]],
vararg: rawptr[AST], kwarg: rawptr[AST],
defaults: rawptr[list[rawptr[AST]]],
kw_defaults: rawptr[list[rawptr[AST]]]):
def __init__(self, pool: memhub.MemManager*,
args: list[AST*]*,
vararg: AST*, kwarg: AST*,
defaults: list[AST*]*,
kw_defaults: list[AST*]*):
_init_ast(self, pool, 0, 0)
self.args = args
self.vararg = vararg
@@ -117,14 +116,14 @@ class Arguments(AST):
class Arg(AST):
"""Arg(arg: str, annotation: AST)"""
arg: str
annotation: rawptr[AST]
annotation: AST*
def __new__(self, pool: rawptr[memhub.MemManager], arg: str, annotation: rawptr[AST]):
ptr: rawptr[Arg] = pool.alloc(Arg.__sizeof__())
def __new__(self, pool: memhub.MemManager*, arg: str, annotation: AST*):
ptr: Arg* = pool.alloc(Arg.__sizeof__())
if ptr: string.memset(ptr, 0, Arg.__sizeof__())
return ptr
def __init__(self, pool: rawptr[memhub.MemManager], arg: str, annotation: rawptr[AST]):
def __init__(self, pool: memhub.MemManager*, arg: str, annotation: AST*):
_init_ast(self, pool, 0, 0)
self.arg = _copy_str(pool, arg)
self.annotation = annotation
@@ -153,14 +152,14 @@ class Arg(AST):
class Keyword(AST):
"""Keyword(arg: str, value: AST)"""
arg: str
value: rawptr[AST]
value: AST*
def __new__(self, pool: rawptr[memhub.MemManager], arg: str, value: rawptr[AST]):
ptr: rawptr[Keyword] = pool.alloc(Keyword.__sizeof__())
def __new__(self, pool: memhub.MemManager*, arg: str, value: AST*):
ptr: Keyword* = pool.alloc(Keyword.__sizeof__())
if ptr: string.memset(ptr, 0, Keyword.__sizeof__())
return ptr
def __init__(self, pool: rawptr[memhub.MemManager], arg: str, value: rawptr[AST]):
def __init__(self, pool: memhub.MemManager*, arg: str, value: AST*):
_init_ast(self, pool, 0, 0)
self.arg = _copy_str(pool, arg)
self.value = value
@@ -191,12 +190,12 @@ class Alias(AST):
name: str
asname: str
def __new__(self, pool: rawptr[memhub.MemManager], name: str, asname: str):
ptr: rawptr[Alias] = pool.alloc(Alias.__sizeof__())
def __new__(self, pool: memhub.MemManager*, name: str, asname: str):
ptr: Alias* = pool.alloc(Alias.__sizeof__())
if ptr: string.memset(ptr, 0, Alias.__sizeof__())
return ptr
def __init__(self, pool: rawptr[memhub.MemManager],
def __init__(self, pool: memhub.MemManager*,
name: str, asname: str):
_init_ast(self, pool, 0, 0)
self.name = _copy_str(pool, name)
@@ -223,16 +222,16 @@ class Alias(AST):
class WithItem(AST):
"""WithItem(context_expr: AST, optional_vars: AST)"""
context_expr: rawptr[AST]
optional_vars: rawptr[AST]
context_expr: AST*
optional_vars: AST*
def __new__(self, pool: rawptr[memhub.MemManager], context_expr: rawptr[AST], optional_vars: rawptr[AST]):
ptr: rawptr[WithItem] = pool.alloc(WithItem.__sizeof__())
def __new__(self, pool: memhub.MemManager*, context_expr: AST*, optional_vars: AST*):
ptr: WithItem* = pool.alloc(WithItem.__sizeof__())
if ptr: string.memset(ptr, 0, WithItem.__sizeof__())
return ptr
def __init__(self, pool: rawptr[memhub.MemManager],
context_expr: rawptr[AST], optional_vars: rawptr[AST]):
def __init__(self, pool: memhub.MemManager*,
context_expr: AST*, optional_vars: AST*):
_init_ast(self, pool, 0, 0)
self.context_expr = context_expr
self.optional_vars = optional_vars
@@ -264,22 +263,22 @@ class WithItem(AST):
class Comprehension(AST):
"""Comprehension(target: AST, iter: AST, ifs: list[AST | CPtr], is_async: CInt)"""
target: rawptr[AST]
iter: rawptr[AST]
ifs: rawptr[list[rawptr[AST]]]
target: AST*
iter: AST*
ifs: list[AST*]*
is_async: int
def __new__(self, pool: rawptr[memhub.MemManager],
target: rawptr[AST], iter: rawptr[AST],
ifs: rawptr[list[rawptr[AST]]], is_async: int):
ptr: rawptr[Comprehension] = pool.alloc(Comprehension.__sizeof__())
def __new__(self, pool: memhub.MemManager*,
target: AST*, iter: AST*,
ifs: list[AST*]*, is_async: int):
ptr: Comprehension* = pool.alloc(Comprehension.__sizeof__())
if ptr:
string.memset(ptr, 0, Comprehension.__sizeof__())
return ptr
def __init__(self, pool: rawptr[memhub.MemManager],
target: rawptr[AST], iter: rawptr[AST],
ifs: rawptr[list[rawptr[AST]]], is_async: int):
def __init__(self, pool: memhub.MemManager*,
target: AST*, iter: AST*,
ifs: list[AST*]*, is_async: int):
_init_ast(self, pool, 0, 0)
self.target = target
self.iter = iter
+35 -35
View File
@@ -1,4 +1,3 @@
import t, c
from stdint import *
import memhub
import string
@@ -42,6 +41,10 @@ enum ASTKind:
MatchCase, MatchValue
MatchSingleton, MatchSequence, MatchMapping
MatchClass, MatchStar, MatchAs, MatchOr
# Soft keyword statement (appended last to keep existing enum values unchanged)
FallThrough
# `new` 描述符分配表达式(M2.4;同样只在枚举尾部追加,既有取值不变)
New
# ============================================================
@@ -102,7 +105,7 @@ enum ASTFlag:
# ============================================================
# Helper Functions
# ============================================================
def _copy_str(pool: rawptr[memhub.MemManager], src: str) -> str:
def _copy_str(pool: memhub.MemManager*, src: str) -> str:
"""Allocate and copy a C string from pool."""
if src is None: return None
slen: sizet = string.strlen(src)
@@ -112,7 +115,7 @@ def _copy_str(pool: rawptr[memhub.MemManager], src: str) -> str:
return buf
def _set_pos(node: rawptr[AST], lineno: int, col_offset: int, end_lineno: int, end_col_offset: int):
def _set_pos(node: AST*, lineno: int, col_offset: int, end_lineno: int, end_col_offset: int):
if node is None: return
node.lineno = lineno
node.col_offset = col_offset
@@ -120,7 +123,7 @@ def _set_pos(node: rawptr[AST], lineno: int, col_offset: int, end_lineno: int, e
node.end_col_offset = end_col_offset
def _inherit_pos(node: rawptr[AST], ref: rawptr[AST]):
def _inherit_pos(node: AST*, ref: AST*):
if node is None or ref is None: return
node.lineno = ref.lineno
node.col_offset = ref.col_offset
@@ -128,7 +131,7 @@ def _inherit_pos(node: rawptr[AST], ref: rawptr[AST]):
node.end_col_offset = ref.end_col_offset
def _init_ast(node: rawptr[AST], pool: rawptr[memhub.MemManager], lineno: int, col: int):
def _init_ast(node: AST*, pool: memhub.MemManager*, lineno: int, col: int):
"""Initialize AST base fields."""
node.parent = None
node.pool = pool
@@ -139,16 +142,16 @@ def _init_ast(node: rawptr[AST], pool: rawptr[memhub.MemManager], lineno: int, c
node.children = None
def _set_parent_list(lst: list[rawptr[AST]] | t.CPtr, parent: rawptr[AST]):
def _set_parent_list(lst: list[AST*]*, parent: AST*):
"""Set list children parent pointers."""
if lst is None: return
for i in range(lst.__len__()):
child: rawptr[AST] = lst.get(i)
for i in range(int(lst.__len__())):
child: AST* = lst.get(i)
if child is not None: child.parent = parent
def _append_child(lst: list[rawptr[AST]] | t.CPtr, node: rawptr[AST],
pool: rawptr[memhub.MemManager]):
def _append_child(lst: list[AST*]*, node: AST*,
pool: memhub.MemManager*):
"""Append child nodes to a list (module-level function, to avoid conflicts with the AST.append method name).
Call this function within the AST.append method to bypass the compiler mistaking list.append for a virtual function call to AST.append when doing type inference."""
@@ -213,7 +216,7 @@ def _emit(buf: str, size: sizet, pos: sizet, text: str) -> sizet:
if buf is None or pos >= size: return pos
cur: str = str(uint64(buf) + pos)
rem: sizet = size - pos
n: int = viperlib.snprintf(cur, rem, "%s", text)
n: int = int(viperlib.snprintf(cur, rem, "%s", text))
if n < 0: return pos
return pos + sizet(n)
@@ -223,7 +226,7 @@ def _emit_str(buf: str, size: sizet, pos: sizet, text: str) -> sizet:
if buf is None or pos >= size: return pos
cur: str = str(uint64(buf) + pos)
rem: sizet = size - pos
n: int = viperlib.snprintf(cur, rem, "%s", text)
n: int = int(viperlib.snprintf(cur, rem, "%s", text))
if n < 0: return pos
return pos + sizet(n)
@@ -233,7 +236,7 @@ def _emit_int(buf: str, size: sizet, pos: sizet, val: int64) -> sizet:
if buf is None or pos >= size: return pos
cur: str = str(uint64(buf) + pos)
rem: sizet = size - pos
n: int = viperlib.snprintf(cur, rem, "%lld", val)
n: int = int(viperlib.snprintf(cur, rem, "%lld", val))
if n < 0: return pos
return pos + sizet(n)
@@ -274,15 +277,15 @@ def _op_name(op: int) -> str:
return "NoneOp"
def _dump_list(lst: list[rawptr[AST]] | t.CPtr, buf: str, size: sizet, pos: sizet) -> sizet:
def _dump_list(lst: list[AST*]*, buf: str, size: sizet, pos: sizet) -> sizet:
"""Traverse a list[AST | CPtr] container, polymorphically dump each element."""
if lst is None:
pos = _emit(buf, size, pos, "[]")
return pos
pos = _emit(buf, size, pos, "[")
for i in range(lst.__len__()):
for i in range(int(lst.__len__())):
if i > 0: pos = _emit(buf, size, pos, ", ")
child: rawptr[AST] = lst.get(i)
child: AST* = lst.get(i)
if child is not None: pos = child.dump(buf, size, pos)
pos = _emit(buf, size, pos, "]")
return pos
@@ -293,9 +296,9 @@ def _dump_op_list(lst: t.CPtr, buf: str, size: sizet, pos: sizet) -> sizet:
if lst is None:
pos = _emit(buf, size, pos, "[]")
return pos
ops_list: rawptr[list[int]] = (rawptr[list[int]])(lst)
ops_list: list[int]* = (list[int]*)(lst)
pos = _emit(buf, size, pos, "[")
for i in range(ops_list.__len__()):
for i in range(int(ops_list.__len__())):
if i > 0: pos = _emit(buf, size, pos, ", ")
op: int = ops_list.get(i)
pos = _emit(buf, size, pos, _op_name(op))
@@ -320,13 +323,13 @@ virtual class AST:
end_lineno/end_col_offset: Ending position
children: List of child nodes (body block, added via append)
"""
parent: rawptr[AST]
pool: rawptr[memhub.MemManager]
parent: AST*
pool: memhub.MemManager*
lineno: int
col_offset: int
end_lineno: int
end_col_offset: int
children: list[rawptr[AST]] | t.CPtr
children: list[AST*]*
def kind(self) -> int:
"""Returns the node type (ASTKind value), overridden by subclasses"""
@@ -345,7 +348,7 @@ virtual class AST:
Current implementation is empty. override this method to dispatch to visitor.visit_X(self)"""
pass
def append(self, node: rawptr[AST]):
def append(self, node: AST*):
"""Append node to the children list.
Used for parser to build statement blocks: module.append(stmt), if_node.append(stmt), etc.
@@ -354,7 +357,7 @@ virtual class AST:
Note: list[AST|CPtr] is currently stored by value (compiler limitation), so you must set
node.parent before appending, so the parent in the copy is correct."""
if self is None or node is None: return
if self.children is None: self.children = list[rawptr[AST]](self.pool, 8)
if self.children is None: self.children = list[AST*](self.pool, 8)
node.parent = self
_append_child(self.children, node, self.pool)
@@ -362,32 +365,29 @@ virtual class AST:
# ============================================================
# Stmt - Statement Base Class
#
# 所有语句节点(Assign/If/For/While/Return/...)继承 Stmt。
# isinstance(node, ast.Stmt) 可在运行时区分"语句"与"表达式"
# (依赖 TPV isinstance 子类集合判定 + 三层 vtable 继承)。
# 不 override kind()(继承 AST 的 0),具体节点各自返回 ASTKind 值。
# All statement nodes (Assign/If/For/While/Return/...) inherit Stmt.
# isinstance(node, ast.Stmt) distinguishes statements from expressions at runtime.
# Does not override kind() (inherits AST's 0); concrete nodes return their ASTKind.
# ============================================================
virtual class Stmt(AST):
"""语句节点基类(Assign/If/For/While/Return/...)"""
"""Statement node base class (Assign/If/For/While/Return/...)"""
# ============================================================
# ExprNode - Expression Base Class
#
# 所有表达式节点(Name/Constant/Call/BinOp/...)继承 ExprNode。
# isinstance(node, ast.ExprNode) 可在运行时区分"表达式"与"语句"。
#
# 命名说明:不能叫 Expr——ASTKind.Expr(base.vp L23)与 stmts.vp 的
# Expr 类已是"表达式语句"(Expression Statement)的既有语义。
# All expression nodes (Name/Constant/Call/BinOp/...) inherit ExprNode.
# isinstance(node, ast.ExprNode) distinguishes expressions from statements at runtime.
# Not named Expr: ASTKind.Expr and the stmts.vp Expr class already mean expression statement.
# ============================================================
virtual class ExprNode(AST):
"""表达式节点基类(Name/Constant/Call/BinOp/...)"""
"""Expression node base class (Name/Constant/Call/BinOp/...)"""
# ============================================================
# Module dump function (for ast.dump(node, buf, size))
# ============================================================
def dump(node: rawptr[AST], buf: str, size: sizet):
def dump(node: AST*, buf: str, size: sizet):
"""Serialize AST node to buf (with capacity size)"""
if node is None or buf is None or size == 0: return
buf[0] = '\0'
+287 -216
View File
@@ -1,8 +1,6 @@
import t, c
from stdint import *
import memhub
import string
import stdio
from .base import (
AST, ExprNode, ASTKind, ASTCtx, OpKind,
_init_ast, _copy_str, _set_parent_list,
@@ -20,12 +18,12 @@ class Name(ExprNode):
id: str
ctx: int
def __new__(self, pool: rawptr[memhub.MemManager], id: str, ctx: int):
ptr: rawptr[Name] = pool.alloc(Name.__sizeof__())
def __new__(self, pool: memhub.MemManager*, id: str, ctx: int):
ptr: Name* = pool.alloc(Name.__sizeof__())
if ptr: string.memset(ptr, 0, Name.__sizeof__())
return ptr
def __init__(self, pool: rawptr[memhub.MemManager], id: str, ctx: int):
def __init__(self, pool: memhub.MemManager*, id: str, ctx: int):
_init_ast(self, pool, 0, 0)
self.id = _copy_str(pool, id)
self.ctx = ctx
@@ -50,26 +48,26 @@ class Name(ExprNode):
return pos
def name_get_id(node: rawptr[Name]) -> str:
"""获取 Name.id 字段(跨模块访问器,stub 字段访问陷阱防护)"""
def name_get_id(node: Name*) -> str:
"""Get Name.id field (cross-module accessor; guards against stub field-access pitfalls)"""
if node is None: return None
return node.id
def constant_get_str_val(node: rawptr[Constant]) -> str:
"""获取 Constant.str_val 字段(跨模块访问器)"""
def constant_get_str_val(node: Constant*) -> str:
"""Get Constant.str_val field (cross-module accessor)"""
if node is None: return None
return node.str_val
def binop_get_left(node: rawptr[BinOp]) -> rawptr[AST]:
"""获取 BinOp.left 字段(跨模块访问器)"""
def binop_get_left(node: BinOp*) -> AST*:
"""Get BinOp.left field (cross-module accessor)"""
if node is None: return None
return node.left
def binop_get_right(node: rawptr[BinOp]) -> rawptr[AST]:
"""获取 BinOp.right 字段(跨模块访问器)"""
def binop_get_right(node: BinOp*) -> AST*:
"""Get BinOp.right field (cross-module accessor)"""
if node is None: return None
return node.right
@@ -84,24 +82,32 @@ class Constant(ExprNode):
float_val: double
str_val: str
const_kind: int
# 显式整型宽度后缀(_int<N>/_uint<N>):int_width>0 = 声明宽度,0 = 未指定;
# int_unsigned=1 表示 uint 形式。追加在末尾,保持既有字段偏移不变(经 __sizeof__ 分配并 memset)。
int_width: int
int_unsigned: int
def __new__(self, pool: rawptr[memhub.MemManager],
def __new__(self, pool: memhub.MemManager*,
const_kind: int, int_val: int64,
float_val: double, str_val: str,
lineno: int, col: int):
ptr: rawptr[Constant] = pool.alloc(Constant.__sizeof__())
lineno: int, col: int,
int_width: int = 0, int_unsigned: int = 0):
ptr: Constant* = pool.alloc(Constant.__sizeof__())
if ptr:
string.memset(ptr, 0, Constant.__sizeof__())
return ptr
def __init__(self, pool: rawptr[memhub.MemManager],
def __init__(self, pool: memhub.MemManager*,
const_kind: int, int_val: int64,
float_val: double, str_val: str,
lineno: int, col: int):
lineno: int, col: int,
int_width: int = 0, int_unsigned: int = 0):
_init_ast(self, pool, lineno, col)
self.const_kind = const_kind
self.int_val = int_val
self.float_val = float_val
self.int_width = int_width
self.int_unsigned = int_unsigned
if str_val is not None:
self.str_val = _copy_str(pool, str_val)
else:
@@ -148,18 +154,18 @@ class Constant(ExprNode):
class BinOp(ExprNode):
"""BinOp(left: AST, op: OpKind, right: AST)"""
left: rawptr[AST]
left: AST*
op: int
right: rawptr[AST]
right: AST*
def __new__(self, pool: rawptr[memhub.MemManager],
left: rawptr[AST], op: int, right: rawptr[AST]):
ptr: rawptr[BinOp] = pool.alloc(BinOp.__sizeof__())
def __new__(self, pool: memhub.MemManager*,
left: AST*, op: int, right: AST*):
ptr: BinOp* = pool.alloc(BinOp.__sizeof__())
if ptr: string.memset(ptr, 0, BinOp.__sizeof__())
return ptr
def __init__(self, pool: rawptr[memhub.MemManager],
left: rawptr[AST], op: int, right: rawptr[AST]):
def __init__(self, pool: memhub.MemManager*,
left: AST*, op: int, right: AST*):
_init_ast(self, pool, 0, 0)
self.left = left
self.op = op
@@ -195,16 +201,16 @@ class BinOp(ExprNode):
class UnaryOp(ExprNode):
"""UnaryOp(op: OpKind, operand: AST)"""
op: int
operand: rawptr[AST]
operand: AST*
def __new__(self, pool: rawptr[memhub.MemManager],
op: int, operand: rawptr[AST]):
ptr: rawptr[UnaryOp] = pool.alloc(UnaryOp.__sizeof__())
def __new__(self, pool: memhub.MemManager*,
op: int, operand: AST*):
ptr: UnaryOp* = pool.alloc(UnaryOp.__sizeof__())
if ptr: string.memset(ptr, 0, UnaryOp.__sizeof__())
return ptr
def __init__(self, pool: rawptr[memhub.MemManager],
op: int, operand: rawptr[AST]):
def __init__(self, pool: memhub.MemManager*,
op: int, operand: AST*):
_init_ast(self, pool, 0, 0)
self.op = op
self.operand = operand
@@ -233,22 +239,22 @@ class UnaryOp(ExprNode):
class Compare(ExprNode):
"""Compare(left: AST, ops: list[CInt], comparators: list[AST | CPtr])"""
left: rawptr[AST]
left: AST*
ops: t.CPtr
comparators: rawptr[list[rawptr[AST]]]
comparators: list[AST*]*
def __new__(self, pool: rawptr[memhub.MemManager],
left: rawptr[AST],
def __new__(self, pool: memhub.MemManager*,
left: AST*,
ops: t.CPtr,
comparators: rawptr[list[rawptr[AST]]]):
ptr: rawptr[Compare] = pool.alloc(Compare.__sizeof__())
comparators: list[AST*]*):
ptr: Compare* = pool.alloc(Compare.__sizeof__())
if ptr: string.memset(ptr, 0, Compare.__sizeof__())
return ptr
def __init__(self, pool: rawptr[memhub.MemManager],
left: rawptr[AST],
def __init__(self, pool: memhub.MemManager*,
left: AST*,
ops: t.CPtr,
comparators: rawptr[list[rawptr[AST]]]):
comparators: list[AST*]*):
_init_ast(self, pool, 0, 0)
self.left = left
self.ops = ops
@@ -281,26 +287,25 @@ class Compare(ExprNode):
class Call(ExprNode):
"""Call(func: AST, args: list[AST | CPtr], keywords: list[AST | CPtr])"""
func: rawptr[AST]
args: rawptr[list[rawptr[AST]]]
keywords: rawptr[list[rawptr[AST]]]
# 值位置 `volatile f()` / `volatile S()` 前缀标记(见 parser.vp _IsVolatileCallPrefix):
# 1=本次调用的结果槽(赋值目标/临时槽)按 volatile 存取,结构体构造的写入亦带
# LLVM volatile。追加在末尾:既有字段偏移不变,__sizeof__() 自动纳入。
func: AST*
args: list[AST*]*
keywords: list[AST*]*
# Value-position `volatile f()` / `volatile S()` prefix marker (see _IsVolatileCallPrefix):
# 1 = result/temp slot accessed volatile (struct writes too). Appended last: offsets unchanged.
IsVolatile: int
def __new__(self, pool: rawptr[memhub.MemManager],
func: rawptr[AST],
args: rawptr[list[rawptr[AST]]],
keywords: rawptr[list[rawptr[AST]]]):
ptr: rawptr[Call] = pool.alloc(Call.__sizeof__())
def __new__(self, pool: memhub.MemManager*,
func: AST*,
args: list[AST*]*,
keywords: list[AST*]*):
ptr: Call* = pool.alloc(Call.__sizeof__())
if ptr: string.memset(ptr, 0, Call.__sizeof__())
return ptr
def __init__(self, pool: rawptr[memhub.MemManager],
func: rawptr[AST],
args: rawptr[list[rawptr[AST]]],
keywords: rawptr[list[rawptr[AST]]]):
def __init__(self, pool: memhub.MemManager*,
func: AST*,
args: list[AST*]*,
keywords: list[AST*]*):
_init_ast(self, pool, 0, 0)
self.func = func
self.args = args
@@ -327,6 +332,75 @@ class Call(ExprNode):
return pos
# ============================================================
# New Node(M2.4:`new` 描述符分配)
# ============================================================
# 两条正交轴,各取其一;顺序无关;重复/冲突在解析期即报错。
# 来源 SourceKind:缺省 = heap(D3)
define NEW_SRC_DEFAULT = 0
define NEW_SRC_STACK = 1
define NEW_SRC_HEAP = 2
define NEW_SRC_MEMGR = 3
# 生命期 LifeKind:缺省由来源决定(stack→slife,heap/memgr→hlife)
define NEW_LIFE_DEFAULT = 0
define NEW_LIFE_SLIFE = 1
define NEW_LIFE_HLIFE = 2
class New(ExprNode):
"""New(Source: CInt, Life: CInt, memgr: AST | CPtr, func: AST, args: list[AST | CPtr])"""
Source: int # SourceKind(NEW_SRC_*)
Life: int # LifeKind(NEW_LIFE_*)
memgr: AST* # `memgr(x)` 的 x;无 memgr 描述符时为 None
func: AST* # 被构造的类型/可调用(`new ... T(args)` 里的 T)
args: list[AST*]*
def __new__(self, pool: memhub.MemManager*,
Source: int,
Life: int,
memgr: AST*,
func: AST*,
args: list[AST*]*):
ptr: New* = pool.alloc(New.__sizeof__())
if ptr: string.memset(ptr, 0, New.__sizeof__())
return ptr
def __init__(self, pool: memhub.MemManager*,
Source: int,
Life: int,
memgr: AST*,
func: AST*,
args: list[AST*]*):
_init_ast(self, pool, 0, 0)
self.Source = Source
self.Life = Life
self.memgr = memgr
self.func = func
self.args = args
_set_parent_list(args, self)
def kind(self) -> int:
return ASTKind.New
def type_name(self) -> str:
return "New"
def dump(self, buf: str, size: sizet, pos: sizet) -> sizet:
pos = _emit(buf, size, pos, "New(")
if self.memgr is not None:
pos = _emit(buf, size, pos, ", memgr=")
pos = self.memgr.dump(buf, size, pos)
pos = _emit(buf, size, pos, ", func=")
if self.func is not None:
pos = self.func.dump(buf, size, pos)
else:
pos = _emit(buf, size, pos, "None")
pos = _emit(buf, size, pos, ", args=")
pos = _dump_list(self.args, buf, size, pos)
pos = _emit(buf, size, pos, ")")
return pos
# ============================================================
# BoolOp Node
# ============================================================
@@ -334,18 +408,18 @@ class Call(ExprNode):
class BoolOp(ExprNode):
"""BoolOp(op: CInt, values: list[AST | CPtr])"""
op: int
values: rawptr[list[rawptr[AST]]]
values: list[AST*]*
def __new__(self, pool: rawptr[memhub.MemManager],
def __new__(self, pool: memhub.MemManager*,
op: int,
values: rawptr[list[rawptr[AST]]]):
ptr: rawptr[BoolOp] = pool.alloc(BoolOp.__sizeof__())
values: list[AST*]*):
ptr: BoolOp* = pool.alloc(BoolOp.__sizeof__())
if ptr: string.memset(ptr, 0, BoolOp.__sizeof__())
return ptr
def __init__(self, pool: rawptr[memhub.MemManager],
def __init__(self, pool: memhub.MemManager*,
op: int,
values: rawptr[list[rawptr[AST]]]):
values: list[AST*]*):
_init_ast(self, pool, 0, 0)
self.op = op
self.values = values
@@ -372,17 +446,17 @@ class BoolOp(ExprNode):
class Lambda(ExprNode):
"""Lambda(args: AST, body: AST)"""
args: rawptr[AST]
body: rawptr[AST]
args: AST*
body: AST*
def __new__(self, pool: rawptr[memhub.MemManager],
args: rawptr[AST], body: rawptr[AST]):
ptr: rawptr[Lambda] = pool.alloc(Lambda.__sizeof__())
def __new__(self, pool: memhub.MemManager*,
args: AST*, body: AST*):
ptr: Lambda* = pool.alloc(Lambda.__sizeof__())
if ptr: string.memset(ptr, 0, Lambda.__sizeof__())
return ptr
def __init__(self, pool: rawptr[memhub.MemManager],
args: rawptr[AST], body: rawptr[AST]):
def __init__(self, pool: memhub.MemManager*,
args: AST*, body: AST*):
_init_ast(self, pool, 0, 0)
self.args = args
self.body = body
@@ -414,20 +488,20 @@ class Lambda(ExprNode):
class IfExp(ExprNode):
"""IfExp(test: AST, body: AST, orelse: AST)"""
test: rawptr[AST]
body: rawptr[AST]
orelse: rawptr[AST]
test: AST*
body: AST*
orelse: AST*
def __new__(self, pool: rawptr[memhub.MemManager],
test: rawptr[AST], body: rawptr[AST],
orelse: rawptr[AST]):
ptr: rawptr[IfExp] = pool.alloc(IfExp.__sizeof__())
def __new__(self, pool: memhub.MemManager*,
test: AST*, body: AST*,
orelse: AST*):
ptr: IfExp* = pool.alloc(IfExp.__sizeof__())
if ptr: string.memset(ptr, 0, IfExp.__sizeof__())
return ptr
def __init__(self, pool: rawptr[memhub.MemManager],
test: rawptr[AST], body: rawptr[AST],
orelse: rawptr[AST]):
def __init__(self, pool: memhub.MemManager*,
test: AST*, body: AST*,
orelse: AST*):
_init_ast(self, pool, 0, 0)
self.test = test
self.body = body
@@ -465,19 +539,19 @@ class IfExp(ExprNode):
class Dict(ExprNode):
"""Dict(keys: list[AST | CPtr], values: list[AST | CPtr])"""
keys: rawptr[list[rawptr[AST]]]
values: rawptr[list[rawptr[AST]]]
keys: list[AST*]*
values: list[AST*]*
def __new__(self, pool: rawptr[memhub.MemManager],
keys: rawptr[list[rawptr[AST]]],
values: rawptr[list[rawptr[AST]]]):
ptr: rawptr[Dict] = pool.alloc(Dict.__sizeof__())
def __new__(self, pool: memhub.MemManager*,
keys: list[AST*]*,
values: list[AST*]*):
ptr: Dict* = pool.alloc(Dict.__sizeof__())
if ptr: string.memset(ptr, 0, Dict.__sizeof__())
return ptr
def __init__(self, pool: rawptr[memhub.MemManager],
keys: rawptr[list[rawptr[AST]]],
values: rawptr[list[rawptr[AST]]]):
def __init__(self, pool: memhub.MemManager*,
keys: list[AST*]*,
values: list[AST*]*):
_init_ast(self, pool, 0, 0)
self.keys = keys
self.values = values
@@ -505,16 +579,16 @@ class Dict(ExprNode):
class Set(ExprNode):
"""Set(elts: list[AST | CPtr])"""
elts: rawptr[list[rawptr[AST]]]
elts: list[AST*]*
def __new__(self, pool: rawptr[memhub.MemManager],
elts: rawptr[list[rawptr[AST]]]):
ptr: rawptr[Set] = pool.alloc(Set.__sizeof__())
def __new__(self, pool: memhub.MemManager*,
elts: list[AST*]*):
ptr: Set* = pool.alloc(Set.__sizeof__())
if ptr: string.memset(ptr, 0, Set.__sizeof__())
return ptr
def __init__(self, pool: rawptr[memhub.MemManager],
elts: rawptr[list[rawptr[AST]]]):
def __init__(self, pool: memhub.MemManager*,
elts: list[AST*]*):
_init_ast(self, pool, 0, 0)
self.elts = elts
_set_parent_list(elts, self)
@@ -538,19 +612,19 @@ class Set(ExprNode):
class ListComp(ExprNode):
"""ListComp(elt: AST, generators: list[AST | CPtr])"""
elt: rawptr[AST]
generators: rawptr[list[rawptr[AST]]]
elt: AST*
generators: list[AST*]*
def __new__(self, pool: rawptr[memhub.MemManager],
elt: rawptr[AST],
generators: rawptr[list[rawptr[AST]]]):
ptr: rawptr[ListComp] = pool.alloc(ListComp.__sizeof__())
def __new__(self, pool: memhub.MemManager*,
elt: AST*,
generators: list[AST*]*):
ptr: ListComp* = pool.alloc(ListComp.__sizeof__())
if ptr: string.memset(ptr, 0, ListComp.__sizeof__())
return ptr
def __init__(self, pool: rawptr[memhub.MemManager],
elt: rawptr[AST],
generators: rawptr[list[rawptr[AST]]]):
def __init__(self, pool: memhub.MemManager*,
elt: AST*,
generators: list[AST*]*):
_init_ast(self, pool, 0, 0)
self.elt = elt
self.generators = generators
@@ -580,19 +654,19 @@ class ListComp(ExprNode):
class SetComp(ExprNode):
"""SetComp(elt: AST, generators: list[AST | CPtr])"""
elt: rawptr[AST]
generators: rawptr[list[rawptr[AST]]]
elt: AST*
generators: list[AST*]*
def __new__(self, pool: rawptr[memhub.MemManager],
elt: rawptr[AST],
generators: rawptr[list[rawptr[AST]]]):
ptr: rawptr[SetComp] = pool.alloc(SetComp.__sizeof__())
def __new__(self, pool: memhub.MemManager*,
elt: AST*,
generators: list[AST*]*):
ptr: SetComp* = pool.alloc(SetComp.__sizeof__())
if ptr: string.memset(ptr, 0, SetComp.__sizeof__())
return ptr
def __init__(self, pool: rawptr[memhub.MemManager],
elt: rawptr[AST],
generators: rawptr[list[rawptr[AST]]]):
def __init__(self, pool: memhub.MemManager*,
elt: AST*,
generators: list[AST*]*):
_init_ast(self, pool, 0, 0)
self.elt = elt
self.generators = generators
@@ -622,20 +696,20 @@ class SetComp(ExprNode):
class DictComp(ExprNode):
"""DictComp(key: AST, value: AST, generators: list[AST | CPtr])"""
key: rawptr[AST]
value: rawptr[AST]
generators: rawptr[list[rawptr[AST]]]
key: AST*
value: AST*
generators: list[AST*]*
def __new__(self, pool: rawptr[memhub.MemManager],
key: rawptr[AST], value: rawptr[AST],
generators: rawptr[list[rawptr[AST]]]):
ptr: rawptr[DictComp] = pool.alloc(DictComp.__sizeof__())
def __new__(self, pool: memhub.MemManager*,
key: AST*, value: AST*,
generators: list[AST*]*):
ptr: DictComp* = pool.alloc(DictComp.__sizeof__())
if ptr: string.memset(ptr, 0, DictComp.__sizeof__())
return ptr
def __init__(self, pool: rawptr[memhub.MemManager],
key: rawptr[AST], value: rawptr[AST],
generators: rawptr[list[rawptr[AST]]]):
def __init__(self, pool: memhub.MemManager*,
key: AST*, value: AST*,
generators: list[AST*]*):
_init_ast(self, pool, 0, 0)
self.key = key
self.value = value
@@ -671,19 +745,19 @@ class DictComp(ExprNode):
class GeneratorExp(ExprNode):
"""GeneratorExp(elt: AST, generators: list[AST | CPtr])"""
elt: rawptr[AST]
generators: rawptr[list[rawptr[AST]]]
elt: AST*
generators: list[AST*]*
def __new__(self, pool: rawptr[memhub.MemManager],
elt: rawptr[AST],
generators: rawptr[list[rawptr[AST]]]):
ptr: rawptr[GeneratorExp] = pool.alloc(GeneratorExp.__sizeof__())
def __new__(self, pool: memhub.MemManager*,
elt: AST*,
generators: list[AST*]*):
ptr: GeneratorExp* = pool.alloc(GeneratorExp.__sizeof__())
if ptr: string.memset(ptr, 0, GeneratorExp.__sizeof__())
return ptr
def __init__(self, pool: rawptr[memhub.MemManager],
elt: rawptr[AST],
generators: rawptr[list[rawptr[AST]]]):
def __init__(self, pool: memhub.MemManager*,
elt: AST*,
generators: list[AST*]*):
_init_ast(self, pool, 0, 0)
self.elt = elt
self.generators = generators
@@ -713,14 +787,14 @@ class GeneratorExp(ExprNode):
class Await(ExprNode):
"""Await(value: AST)"""
value: rawptr[AST]
value: AST*
def __new__(self, pool: rawptr[memhub.MemManager], value: rawptr[AST]):
ptr: rawptr[Await] = pool.alloc(Await.__sizeof__())
def __new__(self, pool: memhub.MemManager*, value: AST*):
ptr: Await* = pool.alloc(Await.__sizeof__())
if ptr: string.memset(ptr, 0, Await.__sizeof__())
return ptr
def __init__(self, pool: rawptr[memhub.MemManager], value: rawptr[AST]):
def __init__(self, pool: memhub.MemManager*, value: AST*):
_init_ast(self, pool, 0, 0)
self.value = value
@@ -746,14 +820,14 @@ class Await(ExprNode):
class Yield(ExprNode):
"""Yield(value: AST)"""
value: rawptr[AST]
value: AST*
def __new__(self, pool: rawptr[memhub.MemManager], value: rawptr[AST]):
ptr: rawptr[Yield] = pool.alloc(Yield.__sizeof__())
def __new__(self, pool: memhub.MemManager*, value: AST*):
ptr: Yield* = pool.alloc(Yield.__sizeof__())
if ptr: string.memset(ptr, 0, Yield.__sizeof__())
return ptr
def __init__(self, pool: rawptr[memhub.MemManager], value: rawptr[AST]):
def __init__(self, pool: memhub.MemManager*, value: AST*):
_init_ast(self, pool, 0, 0)
self.value = value
@@ -779,14 +853,14 @@ class Yield(ExprNode):
class YieldFrom(ExprNode):
"""YieldFrom(value: AST)"""
value: rawptr[AST]
value: AST*
def __new__(self, pool: rawptr[memhub.MemManager], value: rawptr[AST]):
ptr: rawptr[YieldFrom] = pool.alloc(YieldFrom.__sizeof__())
def __new__(self, pool: memhub.MemManager*, value: AST*):
ptr: YieldFrom* = pool.alloc(YieldFrom.__sizeof__())
if ptr: string.memset(ptr, 0, YieldFrom.__sizeof__())
return ptr
def __init__(self, pool: rawptr[memhub.MemManager], value: rawptr[AST]):
def __init__(self, pool: memhub.MemManager*, value: AST*):
_init_ast(self, pool, 0, 0)
self.value = value
@@ -812,20 +886,20 @@ class YieldFrom(ExprNode):
class FormattedValue(ExprNode):
"""FormattedValue(value: AST, conversion: CInt, format_spec: AST)"""
value: rawptr[AST]
value: AST*
conversion: int
format_spec: rawptr[AST]
format_spec: AST*
def __new__(self, pool: rawptr[memhub.MemManager],
value: rawptr[AST], conversion: int,
format_spec: rawptr[AST]):
ptr: rawptr[FormattedValue] = pool.alloc(FormattedValue.__sizeof__())
def __new__(self, pool: memhub.MemManager*,
value: AST*, conversion: int,
format_spec: AST*):
ptr: FormattedValue* = pool.alloc(FormattedValue.__sizeof__())
if ptr: string.memset(ptr, 0, FormattedValue.__sizeof__())
return ptr
def __init__(self, pool: rawptr[memhub.MemManager],
value: rawptr[AST], conversion: int,
format_spec: rawptr[AST]):
def __init__(self, pool: memhub.MemManager*,
value: AST*, conversion: int,
format_spec: AST*):
_init_ast(self, pool, 0, 0)
self.value = value
self.conversion = conversion
@@ -860,16 +934,16 @@ class FormattedValue(ExprNode):
class JoinedStr(ExprNode):
"""JoinedStr(values: list[AST | CPtr])"""
values: rawptr[list[rawptr[AST]]]
values: list[AST*]*
def __new__(self, pool: rawptr[memhub.MemManager], values: rawptr[list[rawptr[AST]]]):
ptr: rawptr[JoinedStr] = pool.alloc(JoinedStr.__sizeof__())
def __new__(self, pool: memhub.MemManager*, values: list[AST*]*):
ptr: JoinedStr* = pool.alloc(JoinedStr.__sizeof__())
if ptr:
string.memset(ptr, 0, JoinedStr.__sizeof__())
return ptr
def __init__(self, pool: rawptr[memhub.MemManager],
values: rawptr[list[rawptr[AST]]]):
def __init__(self, pool: memhub.MemManager*,
values: list[AST*]*):
_init_ast(self, pool, 0, 0)
self.values = values
_set_parent_list(values, self)
@@ -893,18 +967,18 @@ class JoinedStr(ExprNode):
class Attribute(ExprNode):
"""Attribute(value: AST, attr: str, ctx: CInt)"""
value: rawptr[AST]
value: AST*
attr: str
ctx: int
def __new__(self, pool: rawptr[memhub.MemManager],
value: rawptr[AST], attr: str, ctx: int):
ptr: rawptr[Attribute] = pool.alloc(Attribute.__sizeof__())
def __new__(self, pool: memhub.MemManager*,
value: AST*, attr: str, ctx: int):
ptr: Attribute* = pool.alloc(Attribute.__sizeof__())
if ptr: string.memset(ptr, 0, Attribute.__sizeof__())
return ptr
def __init__(self, pool: rawptr[memhub.MemManager],
value: rawptr[AST], attr: str, ctx: int):
def __init__(self, pool: memhub.MemManager*,
value: AST*, attr: str, ctx: int):
_init_ast(self, pool, 0, 0)
self.value = value
self.attr = _copy_str(pool, attr)
@@ -931,20 +1005,17 @@ class Attribute(ExprNode):
# ============================================================
# 字段访问器(跨模块 stub 字段访问陷阱防护)
#
# 其他模块(如 TypeGenCType)直接访问 ast.Attribute 的字段时,
# TPC 可能按 stub 类型生成错误 GEP(读垃圾地址 → 0xC0000005 崩溃)。
# 本模块是完整类型,字段偏移正确;跨模块调用方用这些访问器。
# Field accessors (guard against cross-module stub field-access pitfalls): other modules reading
# ast.Attribute fields directly may get a wrong stub GEP and crash, so they use these accessors.
# ============================================================
def attribute_get_value(node: rawptr[Attribute]) -> rawptr[AST]:
"""获取 Attribute.value 字段(跨模块访问器)"""
def attribute_get_value(node: Attribute*) -> AST*:
"""Get Attribute.value field (cross-module accessor)"""
if node is None: return None
return node.value
def attribute_get_attr(node: rawptr[Attribute]) -> str:
"""获取 Attribute.attr 字段(跨模块访问器)"""
def attribute_get_attr(node: Attribute*) -> str:
"""Get Attribute.attr field (cross-module accessor)"""
if node is None: return None
return node.attr
@@ -955,18 +1026,18 @@ def attribute_get_attr(node: rawptr[Attribute]) -> str:
class Subscript(ExprNode):
"""Subscript(value: AST, slice: AST, ctx: CInt)"""
value: rawptr[AST]
slice: rawptr[AST]
value: AST*
slice: AST*
ctx: int
def __new__(self, pool: rawptr[memhub.MemManager],
value: rawptr[AST], slice: rawptr[AST], ctx: int):
ptr: rawptr[Subscript] = pool.alloc(Subscript.__sizeof__())
def __new__(self, pool: memhub.MemManager*,
value: AST*, slice: AST*, ctx: int):
ptr: Subscript* = pool.alloc(Subscript.__sizeof__())
if ptr: string.memset(ptr, 0, Subscript.__sizeof__())
return ptr
def __init__(self, pool: rawptr[memhub.MemManager],
value: rawptr[AST], slice: rawptr[AST], ctx: int):
def __init__(self, pool: memhub.MemManager*,
value: AST*, slice: AST*, ctx: int):
_init_ast(self, pool, 0, 0)
self.value = value
self.slice = slice
@@ -1001,17 +1072,17 @@ class Subscript(ExprNode):
class Starred(ExprNode):
"""Starred(value: AST, ctx: CInt)"""
value: rawptr[AST]
value: AST*
ctx: int
def __new__(self, pool: rawptr[memhub.MemManager],
value: rawptr[AST], ctx: int):
ptr: rawptr[Starred] = pool.alloc(Starred.__sizeof__())
def __new__(self, pool: memhub.MemManager*,
value: AST*, ctx: int):
ptr: Starred* = pool.alloc(Starred.__sizeof__())
if ptr: string.memset(ptr, 0, Starred.__sizeof__())
return ptr
def __init__(self, pool: rawptr[memhub.MemManager],
value: rawptr[AST], ctx: int):
def __init__(self, pool: memhub.MemManager*,
value: AST*, ctx: int):
_init_ast(self, pool, 0, 0)
self.value = value
self.ctx = ctx
@@ -1040,17 +1111,17 @@ class Starred(ExprNode):
class List(ExprNode):
"""List(elts: list[AST | CPtr], ctx: CInt)"""
elts: rawptr[list[rawptr[AST]]]
elts: list[AST*]*
ctx: int
def __new__(self, pool: rawptr[memhub.MemManager],
elts: rawptr[list[rawptr[AST]]], ctx: int):
ptr: rawptr[List] = pool.alloc(List.__sizeof__())
def __new__(self, pool: memhub.MemManager*,
elts: list[AST*]*, ctx: int):
ptr: List* = pool.alloc(List.__sizeof__())
if ptr: string.memset(ptr, 0, List.__sizeof__())
return ptr
def __init__(self, pool: rawptr[memhub.MemManager],
elts: rawptr[list[rawptr[AST]]], ctx: int):
def __init__(self, pool: memhub.MemManager*,
elts: list[AST*]*, ctx: int):
_init_ast(self, pool, 0, 0)
self.elts = elts
self.ctx = ctx
@@ -1077,17 +1148,17 @@ class List(ExprNode):
class Tuple(ExprNode):
"""Tuple(elts: list[AST | CPtr], ctx: CInt)"""
elts: rawptr[list[rawptr[AST]]]
elts: list[AST*]*
ctx: int
def __new__(self, pool: rawptr[memhub.MemManager],
elts: rawptr[list[rawptr[AST]]], ctx: int):
ptr: rawptr[Tuple] = pool.alloc(Tuple.__sizeof__())
def __new__(self, pool: memhub.MemManager*,
elts: list[AST*]*, ctx: int):
ptr: Tuple* = pool.alloc(Tuple.__sizeof__())
if ptr: string.memset(ptr, 0, Tuple.__sizeof__())
return ptr
def __init__(self, pool: rawptr[memhub.MemManager],
elts: rawptr[list[rawptr[AST]]], ctx: int):
def __init__(self, pool: memhub.MemManager*,
elts: list[AST*]*, ctx: int):
_init_ast(self, pool, 0, 0)
self.elts = elts
self.ctx = ctx
@@ -1114,20 +1185,20 @@ class Tuple(ExprNode):
class Slice(ExprNode):
"""Slice(lower: AST, upper: AST, step: AST)"""
lower: rawptr[AST]
upper: rawptr[AST]
step: rawptr[AST]
lower: AST*
upper: AST*
step: AST*
def __new__(self, pool: rawptr[memhub.MemManager],
lower: rawptr[AST], upper: rawptr[AST],
step: rawptr[AST]):
ptr: rawptr[Slice] = pool.alloc(Slice.__sizeof__())
def __new__(self, pool: memhub.MemManager*,
lower: AST*, upper: AST*,
step: AST*):
ptr: Slice* = pool.alloc(Slice.__sizeof__())
if ptr: string.memset(ptr, 0, Slice.__sizeof__())
return ptr
def __init__(self, pool: rawptr[memhub.MemManager],
lower: rawptr[AST], upper: rawptr[AST],
step: rawptr[AST]):
def __init__(self, pool: memhub.MemManager*,
lower: AST*, upper: AST*,
step: AST*):
_init_ast(self, pool, 0, 0)
self.lower = lower
self.upper = upper
@@ -1165,17 +1236,17 @@ class Slice(ExprNode):
class NamedExpr(ExprNode):
"""NamedExpr(target: AST, value: AST)"""
target: rawptr[AST]
value: rawptr[AST]
target: AST*
value: AST*
def __new__(self, pool: rawptr[memhub.MemManager],
target: rawptr[AST], value: rawptr[AST]):
ptr: rawptr[NamedExpr] = pool.alloc(NamedExpr.__sizeof__())
def __new__(self, pool: memhub.MemManager*,
target: AST*, value: AST*):
ptr: NamedExpr* = pool.alloc(NamedExpr.__sizeof__())
if ptr: string.memset(ptr, 0, NamedExpr.__sizeof__())
return ptr
def __init__(self, pool: rawptr[memhub.MemManager],
target: rawptr[AST], value: rawptr[AST]):
def __init__(self, pool: memhub.MemManager*,
target: AST*, value: AST*):
_init_ast(self, pool, 0, 0)
self.target = target
self.value = value
@@ -1209,12 +1280,12 @@ class OpNode(AST):
"""OpNode(op: CInt)"""
op: int
def __new__(self, pool: rawptr[memhub.MemManager], op: int):
ptr: rawptr[OpNode] = pool.alloc(OpNode.__sizeof__())
def __new__(self, pool: memhub.MemManager*, op: int):
ptr: OpNode* = pool.alloc(OpNode.__sizeof__())
if ptr: string.memset(ptr, 0, OpNode.__sizeof__())
return ptr
def __init__(self, pool: rawptr[memhub.MemManager], op: int):
def __init__(self, pool: memhub.MemManager*, op: int):
_init_ast(self, pool, 0, 0)
self.op = op
+1191 -1157
View File
File diff suppressed because it is too large. Load diff
+61 -62
View File
@@ -1,4 +1,3 @@
import t, c
from stdint import *
import memhub
import string
@@ -14,17 +13,17 @@ from .base import (
# ============================================================
class MatchCase(AST):
"""MatchCase(pattern: AST, guard: AST)"""
pattern: rawptr[AST]
guard: rawptr[AST]
pattern: AST*
guard: AST*
def __new__(self, pool: rawptr[memhub.MemManager],
pattern: rawptr[AST], guard: rawptr[AST]):
ptr: rawptr[MatchCase] = pool.alloc(MatchCase.__sizeof__())
def __new__(self, pool: memhub.MemManager*,
pattern: AST*, guard: AST*):
ptr: MatchCase* = pool.alloc(MatchCase.__sizeof__())
if ptr: string.memset(ptr, 0, MatchCase.__sizeof__())
return ptr
def __init__(self, pool: rawptr[memhub.MemManager],
pattern: rawptr[AST], guard: rawptr[AST]):
def __init__(self, pool: memhub.MemManager*,
pattern: AST*, guard: AST*):
_init_ast(self, pool, 0, 0)
self.pattern = pattern
self.guard = guard
@@ -53,14 +52,14 @@ class MatchCase(AST):
# ============================================================
class MatchValue(AST):
"""MatchValue(value: AST)"""
value: rawptr[AST]
value: AST*
def __new__(self, pool: rawptr[memhub.MemManager], value: rawptr[AST]):
ptr: rawptr[MatchValue] = pool.alloc(MatchValue.__sizeof__())
def __new__(self, pool: memhub.MemManager*, value: AST*):
ptr: MatchValue* = pool.alloc(MatchValue.__sizeof__())
if ptr: string.memset(ptr, 0, MatchValue.__sizeof__())
return ptr
def __init__(self, pool: rawptr[memhub.MemManager], value: rawptr[AST]):
def __init__(self, pool: memhub.MemManager*, value: AST*):
_init_ast(self, pool, 0, 0)
self.value = value
@@ -83,14 +82,14 @@ class MatchValue(AST):
# ============================================================
class MatchSingleton(AST):
"""MatchSingleton(value: AST)"""
value: rawptr[AST]
value: AST*
def __new__(self, pool: rawptr[memhub.MemManager], value: rawptr[AST]):
ptr: rawptr[MatchSingleton] = pool.alloc(MatchSingleton.__sizeof__())
def __new__(self, pool: memhub.MemManager*, value: AST*):
ptr: MatchSingleton* = pool.alloc(MatchSingleton.__sizeof__())
if ptr: string.memset(ptr, 0, MatchSingleton.__sizeof__())
return ptr
def __init__(self, pool: rawptr[memhub.MemManager], value: rawptr[AST]):
def __init__(self, pool: memhub.MemManager*, value: AST*):
_init_ast(self, pool, 0, 0)
self.value = value
@@ -113,16 +112,16 @@ class MatchSingleton(AST):
# ============================================================
class MatchSequence(AST):
"""MatchSequence(patterns: list[rawptr[AST]])"""
patterns: rawptr[list[rawptr[AST]]]
patterns: list[AST*]*
def __new__(self, pool: rawptr[memhub.MemManager],
patterns: rawptr[list[rawptr[AST]]]):
ptr: rawptr[MatchSequence] = pool.alloc(MatchSequence.__sizeof__())
def __new__(self, pool: memhub.MemManager*,
patterns: list[AST*]*):
ptr: MatchSequence* = pool.alloc(MatchSequence.__sizeof__())
if ptr: string.memset(ptr, 0, MatchSequence.__sizeof__())
return ptr
def __init__(self, pool: rawptr[memhub.MemManager],
patterns: rawptr[list[rawptr[AST]]]):
def __init__(self, pool: memhub.MemManager*,
patterns: list[AST*]*):
_init_ast(self, pool, 0, 0)
self.patterns = patterns
_set_parent_list(patterns, self)
@@ -145,21 +144,21 @@ class MatchSequence(AST):
# ============================================================
class MatchMapping(AST):
"""MatchMapping(keys: list[rawptr[AST]], patterns: list[rawptr[AST]], rest: str)"""
keys: rawptr[list[rawptr[AST]]]
patterns: rawptr[list[rawptr[AST]]]
keys: list[AST*]*
patterns: list[AST*]*
rest: str
def __new__(self, pool: rawptr[memhub.MemManager],
keys: rawptr[list[rawptr[AST]]],
patterns: rawptr[list[rawptr[AST]]],
def __new__(self, pool: memhub.MemManager*,
keys: list[AST*]*,
patterns: list[AST*]*,
rest: str):
ptr: rawptr[MatchMapping] = pool.alloc(MatchMapping.__sizeof__())
ptr: MatchMapping* = pool.alloc(MatchMapping.__sizeof__())
if ptr: string.memset(ptr, 0, MatchMapping.__sizeof__())
return ptr
def __init__(self, pool: rawptr[memhub.MemManager],
keys: rawptr[list[rawptr[AST]]],
patterns: rawptr[list[rawptr[AST]]],
def __init__(self, pool: memhub.MemManager*,
keys: list[AST*]*,
patterns: list[AST*]*,
rest: str):
_init_ast(self, pool, 0, 0)
self.keys = keys
@@ -191,26 +190,26 @@ class MatchMapping(AST):
class MatchClass(AST):
"""MatchClass(cls: AST, patterns: list[rawptr[AST]],
kwd_attrs: list[rawptr[AST]], kwd_patterns: list[rawptr[AST]])"""
cls: rawptr[AST]
patterns: rawptr[list[rawptr[AST]]]
kwd_attrs: rawptr[list[rawptr[AST]]]
kwd_patterns: rawptr[list[rawptr[AST]]]
kwd_attrs: list[AST*], kwd_patterns: list[AST*])"""
cls: AST*
patterns: list[AST*]*
kwd_attrs: list[AST*]*
kwd_patterns: list[AST*]*
def __new__(self, pool: rawptr[memhub.MemManager],
cls: rawptr[AST],
patterns: rawptr[list[rawptr[AST]]],
kwd_attrs: rawptr[list[rawptr[AST]]],
kwd_patterns: rawptr[list[rawptr[AST]]]):
ptr: rawptr[MatchClass] = pool.alloc(MatchClass.__sizeof__())
def __new__(self, pool: memhub.MemManager*,
cls: AST*,
patterns: list[AST*]*,
kwd_attrs: list[AST*]*,
kwd_patterns: list[AST*]*):
ptr: MatchClass* = pool.alloc(MatchClass.__sizeof__())
if ptr: string.memset(ptr, 0, MatchClass.__sizeof__())
return ptr
def __init__(self, pool: rawptr[memhub.MemManager],
cls: rawptr[AST],
patterns: rawptr[list[rawptr[AST]]],
kwd_attrs: rawptr[list[rawptr[AST]]],
kwd_patterns: rawptr[list[rawptr[AST]]]):
def __init__(self, pool: memhub.MemManager*,
cls: AST*,
patterns: list[AST*]*,
kwd_attrs: list[AST*]*,
kwd_patterns: list[AST*]*):
_init_ast(self, pool, 0, 0)
self.cls = cls
self.patterns = patterns
@@ -247,12 +246,12 @@ class MatchStar(AST):
"""MatchStar(name: str)"""
name: str
def __new__(self, pool: rawptr[memhub.MemManager], name: str):
ptr: rawptr[MatchStar] = pool.alloc(MatchStar.__sizeof__())
def __new__(self, pool: memhub.MemManager*, name: str):
ptr: MatchStar* = pool.alloc(MatchStar.__sizeof__())
if ptr: string.memset(ptr, 0, MatchStar.__sizeof__())
return ptr
def __init__(self, pool: rawptr[memhub.MemManager], name: str):
def __init__(self, pool: memhub.MemManager*, name: str):
_init_ast(self, pool, 0, 0)
self.name = _copy_str(pool, name)
@@ -275,17 +274,17 @@ class MatchStar(AST):
class MatchAs(AST):
"""MatchAs(pattern: AST, name: str)"""
pattern: rawptr[AST]
pattern: AST*
name: str
def __new__(self, pool: rawptr[memhub.MemManager],
pattern: rawptr[AST], name: str):
ptr: rawptr[MatchAs] = pool.alloc(MatchAs.__sizeof__())
def __new__(self, pool: memhub.MemManager*,
pattern: AST*, name: str):
ptr: MatchAs* = pool.alloc(MatchAs.__sizeof__())
if ptr: string.memset(ptr, 0, MatchAs.__sizeof__())
return ptr
def __init__(self, pool: rawptr[memhub.MemManager],
pattern: rawptr[AST], name: str):
def __init__(self, pool: memhub.MemManager*,
pattern: AST*, name: str):
_init_ast(self, pool, 0, 0)
self.pattern = pattern
self.name = _copy_str(pool, name)
@@ -311,16 +310,16 @@ class MatchAs(AST):
class MatchOr(AST):
"""MatchOr(patterns: list[rawptr[AST]])"""
patterns: rawptr[list[rawptr[AST]]]
patterns: list[AST*]*
def __new__(self, pool: rawptr[memhub.MemManager],
patterns: rawptr[list[rawptr[AST]]]):
ptr: rawptr[MatchOr] = pool.alloc(MatchOr.__sizeof__())
def __new__(self, pool: memhub.MemManager*,
patterns: list[AST*]*):
ptr: MatchOr* = pool.alloc(MatchOr.__sizeof__())
if ptr: string.memset(ptr, 0, MatchOr.__sizeof__())
return ptr
def __init__(self, pool: rawptr[memhub.MemManager],
patterns: rawptr[list[rawptr[AST]]]):
def __init__(self, pool: memhub.MemManager*,
patterns: list[AST*]*):
_init_ast(self, pool, 0, 0)
self.patterns = patterns
_set_parent_list(patterns, self)
+5027 -4753
View File
File diff suppressed because it is too large. Load diff
+238 -203
View File
@@ -1,4 +1,3 @@
import t, c
from stdint import *
import memhub
import string
@@ -16,12 +15,12 @@ from .base import (
virtual class Module(AST):
"""Module(children: list[rawptr[AST]])"""
def __new__(self, pool: rawptr[memhub.MemManager]):
ptr: rawptr[Module] = pool.alloc(Module.__sizeof__())
def __new__(self, pool: memhub.MemManager*):
ptr: Module* = pool.alloc(Module.__sizeof__())
if ptr: string.memset(ptr, 0, Module.__sizeof__())
return ptr
def __init__(self, pool: rawptr[memhub.MemManager]):
def __init__(self, pool: memhub.MemManager*):
_init_ast(self, pool, 0, 0)
def kind(self) -> int:
@@ -43,17 +42,17 @@ virtual class Module(AST):
class Assign(Stmt):
"""Assign(targets: list[rawptr[AST]], value: AST)"""
targets: rawptr[list[rawptr[AST]]]
value: rawptr[AST]
targets: list[AST*]*
value: AST*
def __new__(self, pool: rawptr[memhub.MemManager],
targets: rawptr[list[rawptr[AST]]], value: rawptr[AST]):
ptr: rawptr[Assign] = pool.alloc(Assign.__sizeof__())
def __new__(self, pool: memhub.MemManager*,
targets: list[AST*]*, value: AST*):
ptr: Assign* = pool.alloc(Assign.__sizeof__())
if ptr: string.memset(ptr, 0, Assign.__sizeof__())
return ptr
def __init__(self, pool: rawptr[memhub.MemManager],
targets: rawptr[list[rawptr[AST]]], value: rawptr[AST]):
def __init__(self, pool: memhub.MemManager*,
targets: list[AST*]*, value: AST*):
_init_ast(self, pool, 0, 0)
self.targets = targets
self.value = value
@@ -83,19 +82,19 @@ class Assign(Stmt):
class If(Stmt):
"""If(test: AST, orelse: list[rawptr[AST]])"""
test: rawptr[AST]
orelse: rawptr[list[rawptr[AST]]]
test: AST*
orelse: list[AST*]*
def __new__(self, pool: rawptr[memhub.MemManager],
test: rawptr[AST],
orelse: rawptr[list[rawptr[AST]]]):
ptr: rawptr[If] = pool.alloc(If.__sizeof__())
def __new__(self, pool: memhub.MemManager*,
test: AST*,
orelse: list[AST*]*):
ptr: If* = pool.alloc(If.__sizeof__())
if ptr: string.memset(ptr, 0, If.__sizeof__())
return ptr
def __init__(self, pool: rawptr[memhub.MemManager],
test: rawptr[AST],
orelse: rawptr[list[rawptr[AST]]]):
def __init__(self, pool: memhub.MemManager*,
test: AST*,
orelse: list[AST*]*):
_init_ast(self, pool, 0, 0)
self.test = test
self.orelse = orelse
@@ -127,22 +126,22 @@ class If(Stmt):
class For(Stmt):
"""For(target: AST, iter: AST, orelse: list[rawptr[AST]], is_async: CInt)"""
target: rawptr[AST]
iter: rawptr[AST]
orelse: rawptr[list[rawptr[AST]]]
target: AST*
iter: AST*
orelse: list[AST*]*
flags: int
def __new__(self, pool: rawptr[memhub.MemManager],
target: rawptr[AST], iter: rawptr[AST],
orelse: rawptr[list[rawptr[AST]]],
def __new__(self, pool: memhub.MemManager*,
target: AST*, iter: AST*,
orelse: list[AST*]*,
is_async: int):
ptr: rawptr[For] = pool.alloc(For.__sizeof__())
ptr: For* = pool.alloc(For.__sizeof__())
if ptr: string.memset(ptr, 0, For.__sizeof__())
return ptr
def __init__(self, pool: rawptr[memhub.MemManager],
target: rawptr[AST], iter: rawptr[AST],
orelse: rawptr[list[rawptr[AST]]],
def __init__(self, pool: memhub.MemManager*,
target: AST*, iter: AST*,
orelse: list[AST*]*,
is_async: int):
_init_ast(self, pool, 0, 0)
self.target = target
@@ -183,19 +182,19 @@ class For(Stmt):
class While(Stmt):
"""While(test: AST, orelse: list[rawptr[AST]])"""
test: rawptr[AST]
orelse: rawptr[list[rawptr[AST]]]
test: AST*
orelse: list[AST*]*
def __new__(self, pool: rawptr[memhub.MemManager],
test: rawptr[AST],
orelse: rawptr[list[rawptr[AST]]]):
ptr: rawptr[While] = pool.alloc(While.__sizeof__())
def __new__(self, pool: memhub.MemManager*,
test: AST*,
orelse: list[AST*]*):
ptr: While* = pool.alloc(While.__sizeof__())
if ptr: string.memset(ptr, 0, While.__sizeof__())
return ptr
def __init__(self, pool: rawptr[memhub.MemManager],
test: rawptr[AST],
orelse: rawptr[list[rawptr[AST]]]):
def __init__(self, pool: memhub.MemManager*,
test: AST*,
orelse: list[AST*]*):
_init_ast(self, pool, 0, 0)
self.test = test
self.orelse = orelse
@@ -225,14 +224,14 @@ class While(Stmt):
class Return(Stmt):
"""Return(value: AST | None)"""
value: rawptr[AST]
value: AST*
def __new__(self, pool: rawptr[memhub.MemManager], value: rawptr[AST]):
ptr: rawptr[Return] = pool.alloc(Return.__sizeof__())
def __new__(self, pool: memhub.MemManager*, value: AST*):
ptr: Return* = pool.alloc(Return.__sizeof__())
if ptr: string.memset(ptr, 0, Return.__sizeof__())
return ptr
def __init__(self, pool: rawptr[memhub.MemManager], value: rawptr[AST]):
def __init__(self, pool: memhub.MemManager*, value: AST*):
_init_ast(self, pool, 0, 0)
self.value = value
@@ -258,14 +257,14 @@ class Return(Stmt):
class Expr(Stmt):
"""Expr(value: AST)"""
value: rawptr[AST]
value: AST*
def __new__(self, pool: rawptr[memhub.MemManager], value: rawptr[AST]):
ptr: rawptr[Expr] = pool.alloc(Expr.__sizeof__())
def __new__(self, pool: memhub.MemManager*, value: AST*):
ptr: Expr* = pool.alloc(Expr.__sizeof__())
if ptr: string.memset(ptr, 0, Expr.__sizeof__())
return ptr
def __init__(self, pool: rawptr[memhub.MemManager], value: rawptr[AST]):
def __init__(self, pool: memhub.MemManager*, value: AST*):
_init_ast(self, pool, 0, 0)
self.value = value
@@ -291,31 +290,31 @@ class Expr(Stmt):
class FunctionDef(Stmt):
"""FunctionDef(name: str, args: AST,
decorator_list: list[rawptr[AST]], returns: AST, flags: CInt,
type_params: rawptr[list[str]] = None)
decorator_list: list[AST*], returns: AST, flags: CInt,
type_params: list[str]* = None)
type_params: 泛型函数类型参数名列表(PEP 695 def f[T](...): 中的 [T]),
None 表示非泛型函数。"""
type_params: generic function type-parameter name list (the [T] in PEP 695 def f[T](...)),
None means a non-generic function."""
name: str
args: rawptr[AST]
decorator_list: rawptr[list[rawptr[AST]]]
returns: rawptr[AST]
args: AST*
decorator_list: list[AST*]*
returns: AST*
flags: int
type_params: rawptr[list[str]]
type_params: list[str]*
def __new__(self, pool: rawptr[memhub.MemManager],
name: str, args: rawptr[AST],
decorator_list: rawptr[list[rawptr[AST]]],
returns: rawptr[AST], is_async: int):
ptr: rawptr[FunctionDef] = pool.alloc(FunctionDef.__sizeof__())
def __new__(self, pool: memhub.MemManager*,
name: str, args: AST*,
decorator_list: list[AST*]*,
returns: AST*, is_async: int):
ptr: FunctionDef* = pool.alloc(FunctionDef.__sizeof__())
if ptr: string.memset(ptr, 0, FunctionDef.__sizeof__())
return ptr
def __init__(self, pool: rawptr[memhub.MemManager],
name: str, args: rawptr[AST],
decorator_list: rawptr[list[rawptr[AST]]],
returns: rawptr[AST], is_async: int,
type_params: rawptr[list[str]] = None):
def __init__(self, pool: memhub.MemManager*,
name: str, args: AST*,
decorator_list: list[AST*]*,
returns: AST*, is_async: int,
type_params: list[str]* = None):
_init_ast(self, pool, 0, 0)
self.name = _copy_str(pool, name)
self.args = args
@@ -361,16 +360,16 @@ class FunctionDef(Stmt):
class Expression(AST):
"""Expression(body: AST)"""
body: rawptr[AST]
body: AST*
def __new__(self, pool: rawptr[memhub.MemManager],
body: rawptr[AST]):
ptr: rawptr[Expression] = pool.alloc(Expression.__sizeof__())
def __new__(self, pool: memhub.MemManager*,
body: AST*):
ptr: Expression* = pool.alloc(Expression.__sizeof__())
if ptr: string.memset(ptr, 0, Expression.__sizeof__())
return ptr
def __init__(self, pool: rawptr[memhub.MemManager],
body: rawptr[AST]):
def __init__(self, pool: memhub.MemManager*,
body: AST*):
_init_ast(self, pool, 0, 0)
self.body = body
@@ -396,16 +395,16 @@ class Expression(AST):
class Interactive(AST):
"""Interactive(body: AST)"""
body: rawptr[AST]
body: AST*
def __new__(self, pool: rawptr[memhub.MemManager],
body: rawptr[AST]):
ptr: rawptr[Interactive] = pool.alloc(Interactive.__sizeof__())
def __new__(self, pool: memhub.MemManager*,
body: AST*):
ptr: Interactive* = pool.alloc(Interactive.__sizeof__())
if ptr: string.memset(ptr, 0, Interactive.__sizeof__())
return ptr
def __init__(self, pool: rawptr[memhub.MemManager],
body: rawptr[AST]):
def __init__(self, pool: memhub.MemManager*,
body: AST*):
_init_ast(self, pool, 0, 0)
self.body = body
@@ -431,19 +430,19 @@ class Interactive(AST):
class FunctionType(AST):
"""FunctionType(argtypes: list[rawptr[AST]], returns: AST)"""
argtypes: rawptr[list[rawptr[AST]]]
returns: rawptr[AST]
argtypes: list[AST*]*
returns: AST*
def __new__(self, pool: rawptr[memhub.MemManager],
argtypes: rawptr[list[rawptr[AST]]],
returns: rawptr[AST]):
ptr: rawptr[FunctionType] = pool.alloc(FunctionType.__sizeof__())
def __new__(self, pool: memhub.MemManager*,
argtypes: list[AST*]*,
returns: AST*):
ptr: FunctionType* = pool.alloc(FunctionType.__sizeof__())
if ptr: string.memset(ptr, 0, FunctionType.__sizeof__())
return ptr
def __init__(self, pool: rawptr[memhub.MemManager],
argtypes: rawptr[list[rawptr[AST]]],
returns: rawptr[AST]):
def __init__(self, pool: memhub.MemManager*,
argtypes: list[AST*]*,
returns: AST*):
_init_ast(self, pool, 0, 0)
self.argtypes = argtypes
self.returns = returns
@@ -472,32 +471,32 @@ class FunctionType(AST):
class ClassDef(Stmt):
"""ClassDef(name: str, bases: list[rawptr[AST]], keywords: list[rawptr[AST]],
decorator_list: list[rawptr[AST]], type_params: rawptr[list[str]])
decorator_list: list[AST*], type_params: list[str]*)
type_params: 泛型类型参数名列表(PEP 695 class list[T]: 中的 [T]),
None 表示非泛型类。"""
type_params: generic type-parameter name list (the [T] in PEP 695 class list[T]:),
None means a non-generic class."""
name: str
bases: rawptr[list[rawptr[AST]]]
keywords: rawptr[list[rawptr[AST]]]
decorator_list: rawptr[list[rawptr[AST]]]
type_params: rawptr[list[str]]
bases: list[AST*]*
keywords: list[AST*]*
decorator_list: list[AST*]*
type_params: list[str]*
def __new__(self, pool: rawptr[memhub.MemManager],
def __new__(self, pool: memhub.MemManager*,
name: str,
bases: rawptr[list[rawptr[AST]]],
keywords: rawptr[list[rawptr[AST]]],
decorator_list: rawptr[list[rawptr[AST]]],
type_params: rawptr[list[str]] = None):
ptr: rawptr[ClassDef] = pool.alloc(ClassDef.__sizeof__())
bases: list[AST*]*,
keywords: list[AST*]*,
decorator_list: list[AST*]*,
type_params: list[str]* = None):
ptr: ClassDef* = pool.alloc(ClassDef.__sizeof__())
if ptr: string.memset(ptr, 0, ClassDef.__sizeof__())
return ptr
def __init__(self, pool: rawptr[memhub.MemManager],
def __init__(self, pool: memhub.MemManager*,
name: str,
bases: rawptr[list[rawptr[AST]]],
keywords: rawptr[list[rawptr[AST]]],
decorator_list: rawptr[list[rawptr[AST]]],
type_params: rawptr[list[str]] = None):
bases: list[AST*]*,
keywords: list[AST*]*,
decorator_list: list[AST*]*,
type_params: list[str]* = None):
_init_ast(self, pool, 0, 0)
self.name = _copy_str(pool, name)
self.bases = bases
@@ -533,16 +532,16 @@ class ClassDef(Stmt):
class Delete(Stmt):
"""Delete(targets: list[rawptr[AST]])"""
targets: rawptr[list[rawptr[AST]]]
targets: list[AST*]*
def __new__(self, pool: rawptr[memhub.MemManager],
targets: rawptr[list[rawptr[AST]]]):
ptr: rawptr[Delete] = pool.alloc(Delete.__sizeof__())
def __new__(self, pool: memhub.MemManager*,
targets: list[AST*]*):
ptr: Delete* = pool.alloc(Delete.__sizeof__())
if ptr: string.memset(ptr, 0, Delete.__sizeof__())
return ptr
def __init__(self, pool: rawptr[memhub.MemManager],
targets: rawptr[list[rawptr[AST]]]):
def __init__(self, pool: memhub.MemManager*,
targets: list[AST*]*):
_init_ast(self, pool, 0, 0)
self.targets = targets
_set_parent_list(targets, self)
@@ -566,18 +565,18 @@ class Delete(Stmt):
class AugAssign(Stmt):
"""AugAssign(target: AST, op: CInt, value: AST)"""
target: rawptr[AST]
target: AST*
op: int
value: rawptr[AST]
value: AST*
def __new__(self, pool: rawptr[memhub.MemManager],
target: rawptr[AST], op: int, value: rawptr[AST]):
ptr: rawptr[AugAssign] = pool.alloc(AugAssign.__sizeof__())
def __new__(self, pool: memhub.MemManager*,
target: AST*, op: int, value: AST*):
ptr: AugAssign* = pool.alloc(AugAssign.__sizeof__())
if ptr: string.memset(ptr, 0, AugAssign.__sizeof__())
return ptr
def __init__(self, pool: rawptr[memhub.MemManager],
target: rawptr[AST], op: int, value: rawptr[AST]):
def __init__(self, pool: memhub.MemManager*,
target: AST*, op: int, value: AST*):
_init_ast(self, pool, 0, 0)
self.target = target
self.op = op
@@ -612,21 +611,21 @@ class AugAssign(Stmt):
class AnnAssign(Stmt):
"""AnnAssign(target: AST, annotation: AST, value: AST, simple: CInt)"""
target: rawptr[AST]
annotation: rawptr[AST]
value: rawptr[AST]
target: AST*
annotation: AST*
value: AST*
simple: int
def __new__(self, pool: rawptr[memhub.MemManager],
target: rawptr[AST], annotation: rawptr[AST],
value: rawptr[AST], simple: int):
ptr: rawptr[AnnAssign] = pool.alloc(AnnAssign.__sizeof__())
def __new__(self, pool: memhub.MemManager*,
target: AST*, annotation: AST*,
value: AST*, simple: int):
ptr: AnnAssign* = pool.alloc(AnnAssign.__sizeof__())
if ptr: string.memset(ptr, 0, AnnAssign.__sizeof__())
return ptr
def __init__(self, pool: rawptr[memhub.MemManager],
target: rawptr[AST], annotation: rawptr[AST],
value: rawptr[AST], simple: int):
def __init__(self, pool: memhub.MemManager*,
target: AST*, annotation: AST*,
value: AST*, simple: int):
_init_ast(self, pool, 0, 0)
self.target = target
self.annotation = annotation
@@ -667,18 +666,18 @@ class AnnAssign(Stmt):
class With(Stmt):
"""With(items: list[rawptr[AST]], is_async: CInt)"""
items: rawptr[list[rawptr[AST]]]
items: list[AST*]*
flags: int
def __new__(self, pool: rawptr[memhub.MemManager],
items: rawptr[list[rawptr[AST]]],
def __new__(self, pool: memhub.MemManager*,
items: list[AST*]*,
is_async: int):
ptr: rawptr[With] = pool.alloc(With.__sizeof__())
ptr: With* = pool.alloc(With.__sizeof__())
if ptr: string.memset(ptr, 0, With.__sizeof__())
return ptr
def __init__(self, pool: rawptr[memhub.MemManager],
items: rawptr[list[rawptr[AST]]],
def __init__(self, pool: memhub.MemManager*,
items: list[AST*]*,
is_async: int):
_init_ast(self, pool, 0, 0)
self.items = items
@@ -709,17 +708,17 @@ class With(Stmt):
class Raise(Stmt):
"""Raise(exc: AST, cause: AST)"""
exc: rawptr[AST]
cause: rawptr[AST]
exc: AST*
cause: AST*
def __new__(self, pool: rawptr[memhub.MemManager],
exc: rawptr[AST], cause: rawptr[AST]):
ptr: rawptr[Raise] = pool.alloc(Raise.__sizeof__())
def __new__(self, pool: memhub.MemManager*,
exc: AST*, cause: AST*):
ptr: Raise* = pool.alloc(Raise.__sizeof__())
if ptr: string.memset(ptr, 0, Raise.__sizeof__())
return ptr
def __init__(self, pool: rawptr[memhub.MemManager],
exc: rawptr[AST], cause: rawptr[AST]):
def __init__(self, pool: memhub.MemManager*,
exc: AST*, cause: AST*):
_init_ast(self, pool, 0, 0)
self.exc = exc
self.cause = cause
@@ -751,23 +750,23 @@ class Raise(Stmt):
class Try(Stmt):
"""Try(handlers: list[rawptr[AST]],
orelse: list[rawptr[AST]], finalbody: list[rawptr[AST]])"""
handlers: rawptr[list[rawptr[AST]]]
orelse: rawptr[list[rawptr[AST]]]
finalbody: rawptr[list[rawptr[AST]]]
orelse: list[AST*], finalbody: list[AST*])"""
handlers: list[AST*]*
orelse: list[AST*]*
finalbody: list[AST*]*
def __new__(self, pool: rawptr[memhub.MemManager],
handlers: rawptr[list[rawptr[AST]]],
orelse: rawptr[list[rawptr[AST]]],
finalbody: rawptr[list[rawptr[AST]]]):
ptr: rawptr[Try] = pool.alloc(Try.__sizeof__())
def __new__(self, pool: memhub.MemManager*,
handlers: list[AST*]*,
orelse: list[AST*]*,
finalbody: list[AST*]*):
ptr: Try* = pool.alloc(Try.__sizeof__())
if ptr: string.memset(ptr, 0, Try.__sizeof__())
return ptr
def __init__(self, pool: rawptr[memhub.MemManager],
handlers: rawptr[list[rawptr[AST]]],
orelse: rawptr[list[rawptr[AST]]],
finalbody: rawptr[list[rawptr[AST]]]):
def __init__(self, pool: memhub.MemManager*,
handlers: list[AST*]*,
orelse: list[AST*]*,
finalbody: list[AST*]*):
_init_ast(self, pool, 0, 0)
self.handlers = handlers
self.orelse = orelse
@@ -801,17 +800,17 @@ class Try(Stmt):
class Assert(Stmt):
"""Assert(test: AST, msg: AST)"""
test: rawptr[AST]
msg: rawptr[AST]
test: AST*
msg: AST*
def __new__(self, pool: rawptr[memhub.MemManager],
test: rawptr[AST], msg: rawptr[AST]):
ptr: rawptr[Assert] = pool.alloc(Assert.__sizeof__())
def __new__(self, pool: memhub.MemManager*,
test: AST*, msg: AST*):
ptr: Assert* = pool.alloc(Assert.__sizeof__())
if ptr: string.memset(ptr, 0, Assert.__sizeof__())
return ptr
def __init__(self, pool: rawptr[memhub.MemManager],
test: rawptr[AST], msg: rawptr[AST]):
def __init__(self, pool: memhub.MemManager*,
test: AST*, msg: AST*):
_init_ast(self, pool, 0, 0)
self.test = test
self.msg = msg
@@ -843,16 +842,16 @@ class Assert(Stmt):
class Global(Stmt):
"""Global(names: list[rawptr[AST]])"""
names: rawptr[list[rawptr[AST]]]
names: list[AST*]*
def __new__(self, pool: rawptr[memhub.MemManager],
names: rawptr[list[rawptr[AST]]]):
ptr: rawptr[Global] = pool.alloc(Global.__sizeof__())
def __new__(self, pool: memhub.MemManager*,
names: list[AST*]*):
ptr: Global* = pool.alloc(Global.__sizeof__())
if ptr: string.memset(ptr, 0, Global.__sizeof__())
return ptr
def __init__(self, pool: rawptr[memhub.MemManager],
names: rawptr[list[rawptr[AST]]]):
def __init__(self, pool: memhub.MemManager*,
names: list[AST*]*):
_init_ast(self, pool, 0, 0)
self.names = names
_set_parent_list(names, self)
@@ -876,16 +875,16 @@ class Global(Stmt):
class Nonlocal(Stmt):
"""Nonlocal(names: list[rawptr[AST]])"""
names: rawptr[list[rawptr[AST]]]
names: list[AST*]*
def __new__(self, pool: rawptr[memhub.MemManager],
names: rawptr[list[rawptr[AST]]]):
ptr: rawptr[Nonlocal] = pool.alloc(Nonlocal.__sizeof__())
def __new__(self, pool: memhub.MemManager*,
names: list[AST*]*):
ptr: Nonlocal* = pool.alloc(Nonlocal.__sizeof__())
if ptr: string.memset(ptr, 0, Nonlocal.__sizeof__())
return ptr
def __init__(self, pool: rawptr[memhub.MemManager],
names: rawptr[list[rawptr[AST]]]):
def __init__(self, pool: memhub.MemManager*,
names: list[AST*]*):
_init_ast(self, pool, 0, 0)
self.names = names
_set_parent_list(names, self)
@@ -910,12 +909,12 @@ class Nonlocal(Stmt):
class Pass(Stmt):
"""Pass()"""
def __new__(self, pool: rawptr[memhub.MemManager]):
ptr: rawptr[Pass] = pool.alloc(Pass.__sizeof__())
def __new__(self, pool: memhub.MemManager*):
ptr: Pass* = pool.alloc(Pass.__sizeof__())
if ptr: string.memset(ptr, 0, Pass.__sizeof__())
return ptr
def __init__(self, pool: rawptr[memhub.MemManager]):
def __init__(self, pool: memhub.MemManager*):
_init_ast(self, pool, 0, 0)
def kind(self) -> int:
@@ -936,12 +935,12 @@ class Pass(Stmt):
class Break(Stmt):
"""Break()"""
def __new__(self, pool: rawptr[memhub.MemManager]):
ptr: rawptr[Break] = pool.alloc(Break.__sizeof__())
def __new__(self, pool: memhub.MemManager*):
ptr: Break* = pool.alloc(Break.__sizeof__())
if ptr: string.memset(ptr, 0, Break.__sizeof__())
return ptr
def __init__(self, pool: rawptr[memhub.MemManager]):
def __init__(self, pool: memhub.MemManager*):
_init_ast(self, pool, 0, 0)
def kind(self) -> int:
@@ -962,12 +961,12 @@ class Break(Stmt):
class Continue(Stmt):
"""Continue()"""
def __new__(self, pool: rawptr[memhub.MemManager]):
ptr: rawptr[Continue] = pool.alloc(Continue.__sizeof__())
def __new__(self, pool: memhub.MemManager*):
ptr: Continue* = pool.alloc(Continue.__sizeof__())
if ptr: string.memset(ptr, 0, Continue.__sizeof__())
return ptr
def __init__(self, pool: rawptr[memhub.MemManager]):
def __init__(self, pool: memhub.MemManager*):
_init_ast(self, pool, 0, 0)
def kind(self) -> int:
@@ -981,22 +980,48 @@ class Continue(Stmt):
return pos
# ============================================================
# FallThrough Node (keyword `fallthrough`, legal only inside a switch case body)
# ============================================================
class FallThrough(Stmt):
"""FallThrough() - a switch case body does not auto-break, so it falls through to the next case"""
def __new__(self, pool: memhub.MemManager*):
ptr: FallThrough* = pool.alloc(FallThrough.__sizeof__())
if ptr: string.memset(ptr, 0, FallThrough.__sizeof__())
return ptr
def __init__(self, pool: memhub.MemManager*):
_init_ast(self, pool, 0, 0)
def kind(self) -> int:
return ASTKind.FallThrough
def type_name(self) -> str:
return "FallThrough"
def dump(self, buf: str, size: sizet, pos: sizet) -> sizet:
pos = _emit(buf, size, pos, "FallThrough()")
return pos
# ============================================================
# Import Node
# ============================================================
class Import(Stmt):
"""Import(names: list[rawptr[AST]])"""
names: rawptr[list[rawptr[AST]]]
names: list[AST*]*
def __new__(self, pool: rawptr[memhub.MemManager],
names: rawptr[list[rawptr[AST]]]):
ptr: rawptr[Import] = pool.alloc(Import.__sizeof__())
def __new__(self, pool: memhub.MemManager*,
names: list[AST*]*):
ptr: Import* = pool.alloc(Import.__sizeof__())
if ptr: string.memset(ptr, 0, Import.__sizeof__())
return ptr
def __init__(self, pool: rawptr[memhub.MemManager],
names: rawptr[list[rawptr[AST]]]):
def __init__(self, pool: memhub.MemManager*,
names: list[AST*]*):
_init_ast(self, pool, 0, 0)
self.names = names
_set_parent_list(names, self)
@@ -1021,20 +1046,20 @@ class Import(Stmt):
class ImportFrom(Stmt):
"""ImportFrom(module: str, names: list[rawptr[AST]], level: CInt)"""
module: str
names: rawptr[list[rawptr[AST]]]
names: list[AST*]*
level: int
def __new__(self, pool: rawptr[memhub.MemManager],
def __new__(self, pool: memhub.MemManager*,
module: str,
names: rawptr[list[rawptr[AST]]],
names: list[AST*]*,
level: int):
ptr: rawptr[ImportFrom] = pool.alloc(ImportFrom.__sizeof__())
ptr: ImportFrom* = pool.alloc(ImportFrom.__sizeof__())
if ptr: string.memset(ptr, 0, ImportFrom.__sizeof__())
return ptr
def __init__(self, pool: rawptr[memhub.MemManager],
def __init__(self, pool: memhub.MemManager*,
module: str,
names: rawptr[list[rawptr[AST]]],
names: list[AST*]*,
level: int):
_init_ast(self, pool, 0, 0)
self.module = _copy_str(pool, module)
@@ -1064,23 +1089,31 @@ class ImportFrom(Stmt):
# ============================================================
class Match(Stmt):
"""Match(subject: AST, cases: list[rawptr[AST]])"""
subject: rawptr[AST]
cases: rawptr[list[rawptr[AST]]]
"""Match(subject: AST, cases: list[rawptr[AST]], is_switch: int)
def __new__(self, pool: rawptr[memhub.MemManager],
subject: rawptr[AST],
cases: rawptr[list[rawptr[AST]]]):
ptr: rawptr[Match] = pool.alloc(Match.__sizeof__())
is_switch=1: from `switch <expr>:` sugar (see _parse_switch), C semantics (no fall-through without
`fallthrough`). is_switch=0: real `match`, fallthrough is completely forbidden (fail-fast).
"""
subject: AST*
cases: list[AST*]*
is_switch: int
def __new__(self, pool: memhub.MemManager*,
subject: AST*,
cases: list[AST*]*,
is_switch: int):
ptr: Match* = pool.alloc(Match.__sizeof__())
if ptr: string.memset(ptr, 0, Match.__sizeof__())
return ptr
def __init__(self, pool: rawptr[memhub.MemManager],
subject: rawptr[AST],
cases: rawptr[list[rawptr[AST]]]):
def __init__(self, pool: memhub.MemManager*,
subject: AST*,
cases: list[AST*]*,
is_switch: int):
_init_ast(self, pool, 0, 0)
self.subject = subject
self.cases = cases
self.is_switch = is_switch
_set_parent_list(cases, self)
def kind(self) -> int:
@@ -1097,5 +1130,7 @@ class Match(Stmt):
pos = _emit(buf, size, pos, "None")
pos = _emit(buf, size, pos, ", cases=")
pos = _dump_list(self.cases, buf, size, pos)
pos = _emit(buf, size, pos, ", is_switch=")
pos = _emit_int(buf, size, pos, int64(self.is_switch))
pos = _emit(buf, size, pos, ")")
return pos
+234 -240
View File
@@ -1,4 +1,3 @@
import t, c
from stdint import *
import memhub
import string
@@ -7,15 +6,11 @@ import stdlib
def _ast_pool_fatal(what: str, need: sizet):
"""池分配失败(alloc 返回 NULL)时的统一 fail-fast。
此前这些 alloc 失败只是静默返回,留下 str_val=NULL / 哑 token;后续
`_kw_lookup(tok.str_val)` → `_kw_hash_str` 在 NULL 上取字节,崩成
ASAN "access-violation on unknown address 0x0",把真因(内存池耗尽)
掩盖成空指针崩溃。这里直接报真因并终止。
"""Unified fail-fast when a pool alloc fails (returns NULL).
Reports the real cause (pool exhausted) and terminates instead of leaving NULL str_val / dummy tokens.
"""
stdio.printf("[AST] %s 分配失败:内存池已耗尽(alloc 返回 NULL,need=%zu 字节)"
"——上游有块被写穿/丢失,见 [MEM] 报告\n", what, need)
stdio.printf("[AST] %s allocation failed: memory pool exhausted (alloc returned NULL, need=%zu bytes)"
" -- an upstream block was overrun/lost, see [MEM] report\n", what, need)
stdio.fflush(None)
stdlib.exit(1)
@@ -25,21 +20,21 @@ def _ast_pool_fatal(what: str, need: sizet):
# Organized as a type-safe enum using t.CEnum; old names XXX retained as compatible aliases
# ============================================================
class TokenType(t.CEnum):
EndMarker: t.State
NewLine: t.State
Indent: t.State
Dedent: t.State
Name: t.State
Number: t.State
String: t.State
FStringStart: t.State
FStringMiddle: t.State
FStringEnd: t.State
Op: t.State
Nl: t.State
Comment: t.State
Encoding: t.State
enum TokenType:
EndMarker
NewLine
Indent
Dedent
Name
Number
String
FStringStart
FStringMiddle
FStringEnd
Op
Nl
Comment
Encoding
# ============================================================
@@ -48,100 +43,101 @@ class TokenType(t.CEnum):
# NotKeyword(0) represents a non-keyword (sentinel to avoid conflict between False_=0 and kw_subtype=0)
# ============================================================
class Keyword(t.CEnum):
NotKeyword: t.State
False_: t.State
None_: t.State
True_: t.State
And: t.State
As: t.State
Assert: t.State
Async: t.State
Await: t.State
Break: t.State
Class: t.State
Continue: t.State
Def: t.State
Del: t.State
Elif: t.State
Else: t.State
Except: t.State
Finally: t.State
For: t.State
From: t.State
Global: t.State
If: t.State
Import: t.State
In: t.State
Is: t.State
Lambda: t.State
Nonlocal: t.State
Not: t.State
Or: t.State
Pass: t.State
Raise: t.State
Return: t.State
Try: t.State
While: t.State
With: t.State
Yield: t.State
Match: t.State
Case: t.State
Type: t.State
# def 的别名关键字(fn/fun/func/function,语义与 def 完全相同)
Fn: t.State
Fun: t.State
Func: t.State
Function: t.State
# extern 函数声明关键字(FFI,等价 t.State 标记;软判定见 _is_funcdef_kw)
Extern: t.State
# export 函数声明关键字(等价 t.CExport,裸名导出不加 SHA1 头;软判定见 _is_funcdef_kw)
Export: t.State
# define 宏函数关键字(与 def 语义一致,返回注解自动追加 t.CDefine 标记
# 为宏函数;软判定见 _is_funcdef_kw)
Define: t.State
# enum 枚举定义关键字(语法糖:`enum X:` 与 `class X(t.CEnum):` 等价,
# 见 parser.vp 的 _parse_enumdef)。追加在**表尾**而非插在 Class 之后:
# 本枚举成员的值按声明序递增,插在中间会平移 Class 之后所有关键字的编号
# (kw_subtype 数值),追加则既有编号逐字不变。
Enum: t.State
# typedef 类型别名关键字(语法糖:`typedef T1 = T2` 与
# `T1: t.CTypedef = T2` 等价,见 parser.vp 的 _parse_typedef)。同样追加在
# **表尾**:既有关键字编号(kw_subtype)逐字不变。
Typedef: t.State
# 类型描述符关键字 const / volatile(语法糖:描述符写在类型前,
# `a: const int` 与 `a: t.CConst | int` 等价,见 parser.vp 的 _parse_type_ann)。
# 同样追加在**表尾**:既有关键字编号(kw_subtype)逐字不变。
# 二者是**软关键字**——只在注解位置(`:` 后 / `->` 后)生效;作标识符的写法
# (t.attr.const(),TransPyV/Test/App/attr_test.vp:142)不受影响:
# 该处 token 类型仍是 Name,属性名解析只看 TokenType.Name,不看 kw_subtype。
Const: t.State
Volatile: t.State
# virtual / novirtual 修饰符关键字(语法糖:`virtual class C:` /
# `novirtual class C:` / `virtual def m(...)` / `novirtual def m(...)`,
# 与手写类/方法装饰器 `@t.CVTable` / `@t.NoVTable` **同一套表示**,
# 见 parser.vp 的 _ParseVirtualModified)。同样追加在**表尾**:既有关键字
# 编号(kw_subtype)逐字不变。
# 二者是**软关键字**——只在"语句起始 + 紧跟 class/def"时生效;作标识符的写法
# (`x = d.virtual` / 形参名 / for 目标 / 字典键)不受影响:那些位置按
# TokenType.Name 解析,不看 kw_subtype。
Virtual: t.State
Novirtual: t.State
# union 类型定义关键字(语法糖:`union X:` 与 `class X(t.CUnion):` 等价,
# 见 parser.vp 的 _parse_uniondef)。同样追加在**表尾**:既有关键字编号
# (kw_subtype)逐字不变;全仓 .vp 源码中 `union` 不作标识符使用。
Union: t.State
# renum 变体类型定义关键字(语法糖:`renum X:` 与 `class X(t.REnum):` 等价,
# 见 parser.vp 的 _parse_renumdef)。同样追加在**表尾**:既有关键字编号
# (kw_subtype)逐字不变;全仓 .vp 源码中 `renum` 不作标识符使用。
Renum: t.State
# struct 纯数据类型定义关键字(语法糖:`struct X:` 与
# `class X(t.CStruct):` + `@t.NoVTable` 等价,见 parser.vp 的 _parse_structdef):
# 与 class 同形,但**只能表示数据类型**——禁止 virtual/novirtual 修饰、禁止类体内
# 定义 def。同样追加在**表尾**:既有关键字编号(kw_subtype)逐字不变;
# 全仓 .vp 源码中 `struct` 不作标识符使用(仅出现在注释/字符串与
# build_gep_struct 之类复合标识符里)。
Struct: t.State
enum Keyword:
NotKeyword
False_
None_
True_
And
As
Assert
Async
Await
Break
Class
Continue
Def
Del
Elif
Else
Except
Finally
For
From
Global
If
Import
In
Is
Lambda
Nonlocal
Not
Or
Pass
Raise
Return
Try
While
With
Yield
Match
Case
Type
# def alias keywords (fn/fun/func/function, identical semantics to def)
Fn
Fun
Func
Function
# extern function declaration keyword (FFI, equivalent to t.State; soft test in _is_funcdef_kw)
Extern
# export function declaration keyword (equivalent to t.CExport; soft test in _is_funcdef_kw)
Export
# define macro-function keyword (same semantics as def, return annotation gets t.CDefine;
# soft test in _is_funcdef_kw)
Define
# enum definition keyword (sugar: `enum X:` == `class X(t.CEnum):`, see _parse_enumdef).
# Appended at the enum tail so existing kw_subtype values stay unchanged.
Enum
# typedef alias keyword (sugar: `typedef T1 = T2` == `T1: t.CTypedef = T2`, see _parse_typedef).
# Appended at the enum tail: existing kw_subtype values unchanged.
Typedef
# const/volatile descriptor keywords (sugar: `a: const int` == `a: t.CConst | int`, _parse_type_ann),
# appended at the enum tail. Soft keywords: only in annotation position; `t.attr.const()` unaffected.
# bigend/littlend byte-order descriptors share this exact mechanism/expansion: `a: bigend int` ==
# `a: t.BigEndian | int` and `a: littlend int` == `a: t.LittleEndian | int` (their enum members
# BigEnd/LittleEnd are appended at the tail; soft keywords: annotation position only, `t.attr.bigend()`
# and identifiers named bigend/littlend are unaffected).
Const
Volatile
# virtual/novirtual modifier keywords (sugar for @t.CVTable / @t.NoVTable, _ParseVirtualModified),
# appended at the enum tail. Soft keywords: only at statement start before class/def; identifiers unaffected.
Virtual
Novirtual
# union definition keyword (sugar: `union X:` == `class X(t.CUnion):`, see _parse_uniondef),
# appended at the enum tail; `union` is never used as an identifier in the repo.
Union
# renum variant-type keyword (sugar: `renum X:` == `class X(t.REnum):`, see _parse_renumdef),
# appended at the enum tail; `renum` is never used as an identifier in the repo.
Renum
# struct data-type keyword (sugar: `struct X:` == `class X(t.CStruct):` + @t.NoVTable, _parse_structdef),
# appended at the enum tail. Data-only: no virtual/novirtual, no def in body; never an identifier.
Struct
# switch statement keyword (`switch <expr>:` + `case`/`default`, see _parse_switch), appended
# at the enum tail. C switch semantics: no fall-through unless `fallthrough` is written.
Switch
# fallthrough statement keyword (legal only inside a switch case body; error inside match),
# appended at the enum tail.
FallThrough
# bigend/littlend byte-order descriptor keywords (same family as const/volatile: sugar for
# `a: t.BigEndian | int` / `a: t.LittleEndian | int`, expanded in _parse_type_ann), appended at the
# enum tail so existing kw_subtype values stay unchanged. Soft keywords: only in annotation position;
# `t.attr.bigend()` and identifiers named bigend/littlend are unaffected.
BigEnd
LittleEnd
# tls modifier keyword (sugar for @t.TLS, see _ParseTlsModified), appended at the enum tail so
# existing kw_subtype values stay unchanged. Soft keyword: only at statement start before a
# function definition; identifiers named tls (e.g. a `vthreading.local` variable) are unaffected.
Tls
# ============================================================
@@ -150,55 +146,55 @@ class Keyword(t.CEnum):
# Stored in the token.op_subtype field
# ============================================================
class TokOp(t.CEnum):
LPar: t.State # (
RPar: t.State # )
Lsqb: t.State # [
Rsqb: t.State # ]
LBrace: t.State # {
RBrace: t.State # }
Comma: t.State # ,
Colon: t.State # :
Dot: t.State # .
Semi: t.State # ;
At: t.State # @
Equal: t.State # =
RArrow: t.State # ->
PlusEq: t.State # +=
MinusEq: t.State # -=
StarEq: t.State # *=
SlashEq: t.State # /=
DSlashEq: t.State # //=
PercentEq: t.State # %=
AtEq: t.State # @=
AmpEq: t.State # &=
VBarEq: t.State # |=
CaretEq: t.State # ^=
GtGtEq: t.State # >>=
LtLtEq: t.State # <<=
StarEqEq: t.State # **=
DSlash: t.State # //
StarStar: t.State # **
LtLt: t.State # <<
GtGt: t.State # >>
LessEq: t.State # <=
GreaterEq: t.State # >=
EqEq: t.State # ==
ExclaimEq: t.State # !=
Less: t.State # <
Greater: t.State # >
Plus: t.State # +
Minus: t.State # -
Star: t.State # *
Slash: t.State # /
Percent: t.State # %
Amp: t.State # &
VBar: t.State # |
Caret: t.State # ^
Tilde: t.State # ~
ColonEq: t.State # :=
Ellipsis: t.State # ...
Bang: t.State # !(Non-standard, used for parsing tolerance)
enum TokOp:
LPar # (
RPar # )
Lsqb # [
Rsqb # ]
LBrace # {
RBrace # }
Comma # ,
Colon # :
Dot # .
Semi # ;
At # @
Equal # =
RArrow # ->
PlusEq # +=
MinusEq # -=
StarEq # *=
SlashEq # /=
DSlashEq # //=
PercentEq # %=
AtEq # @=
AmpEq # &=
VBarEq # |=
CaretEq # ^=
GtGtEq # >>=
LtLtEq # <<=
StarEqEq # **=
DSlash # //
StarStar # **
LtLt # <<
GtGt # >>
LessEq # <=
GreaterEq # >=
EqEq # ==
ExclaimEq # !=
Less # <
Greater # >
Plus # +
Minus # -
Star # *
Slash # /
Percent # %
Amp # &
VBar # |
Caret # ^
Tilde # ~
ColonEq # :=
Ellipsis # ...
Bang # !(Non-standard, used for parsing tolerance)
# ============================================================
@@ -217,11 +213,15 @@ class Token:
col_offset: int # Starting column offset
end_lineno: int # Ending line number
end_col_offset: int # Ending column offset
next: rawptr[Token] # Next token in linked list
next: Token* # Next token in linked list
# 显式整型宽度后缀(_int<N>/_uint<N>/_i<N>/_u<N>):N>0 = 声明宽度,0 = 未指定;
# int_unsigned=1 表示 uint<N> 形式。追加在末尾,保持既有字段偏移不变(Token 经 __sizeof__ 分配并 memset)。
int_width: int
int_unsigned: int
def __new__(self, pool: rawptr[memhub.MemManager]):
def __new__(self, pool: memhub.MemManager*):
"""Allocate zero‑initialized Token struct memory from mpool"""
ptr: rawptr[Token] = pool.alloc(Token.__sizeof__())
ptr: Token* = pool.alloc(Token.__sizeof__())
if ptr == None:
_ast_pool_fatal("Token", sizet(Token.__sizeof__()))
string.memset(ptr, 0, Token.__sizeof__())
@@ -235,10 +235,10 @@ class Token:
class KwEntry:
name: str
kw_id: int
next: rawptr[KwEntry]
next: KwEntry*
def __new__(self, pool: rawptr[memhub.MemManager]):
ptr: rawptr[KwEntry] = pool.alloc(KwEntry.__sizeof__())
def __new__(self, pool: memhub.MemManager*):
ptr: KwEntry* = pool.alloc(KwEntry.__sizeof__())
if ptr == None:
_ast_pool_fatal("KwEntry", sizet(KwEntry.__sizeof__()))
string.memset(ptr, 0, KwEntry.__sizeof__())
@@ -246,61 +246,53 @@ class KwEntry:
# Global keyword linked list head (lazy initialization)
_kw_head: rawptr[KwEntry] = None
_kw_pool: rawptr[memhub.MemManager] = None
_kw_head: KwEntry* = None
_kw_pool: memhub.MemManager* = None
# 关键字哈希索引(开放寻址 | 线性探测):槽为 u64,0=空槽,否则存 KwEntry 地址。
# 目的:把 _kw_lookup 的 46 项链表线性扫描降为期望 O(1)(不改链表本身)。索引与
# 链表同源——在 _init_keywords 里由同一批 _kw_intern 派生,不另抄关键字列表。
# 关键字为静态集合且一次性注册完毕 ⇒ 索引是"完整"的:查找未命中等价于原扫描
# 返回 0(无需回退链表扫描);回退仅用于索引未建成(分配失败)时,保证正确性。
# Keyword hash index (open addressing, linear probing): slot u64, 0 = empty else KwEntry address;
# expected O(1) lookups, falling back to the list only when not built (alloc failure). Miss returns 0.
_kw_index: sizet* = None
# 索引槽数(2 的幂且 > 2*46,负载 < 0.5,探测必然终止)
_KW_IDX_CAP: t.CDefine = 128
# FNV-1a 64 位常量(与 hashtable.vp 同款)
_KW_FNV_OFFSET: t.CUInt64T = 0xcbf29ce484222325
_KW_FNV_PRIME: t.CUInt64T = 0x100000001b3
# Index slot count (power of two > 2*46, load < 0.5 so probing always terminates)
define _KW_IDX_CAP = 128
# FNV-1a 64-bit constants (same as hashtable.vp)
_KW_FNV_OFFSET: uint64 = 0xcbf29ce484222325
_KW_FNV_PRIME: uint64 = 0x100000001b3
def _kw_hash_str(key: str) -> uint64:
"""关键字名 FNV-1a 64 位哈希(同一键必得同一值;仅用于槽定位)"""
h: t.CUInt64T = _KW_FNV_OFFSET
"""FNV-1a 64-bit hash of a keyword name (same key -> same value; used only for slot location)"""
h: uint64 = _KW_FNV_OFFSET
k: str = key
while k[0] != 0:
h = h ^ t.CUInt64T(k[0])
h = h ^ uint64(k[0])
h = h * _KW_FNV_PRIME
k += 1
return uint64(h)
def _kw_index_put(entry: rawptr[KwEntry]):
"""把关键字条目写入哈希索引(索引未建成时静默跳过)
同键只保留首注册者(与查找"命中即返回"语义一致);冲突逐键 strcmp 区分,
不能只比哈希——否则不同关键字撞槽会返回错误 kw_id。
"""
def _kw_index_put(entry: KwEntry*):
"""Write a keyword entry into the hash index (silently skipped if not built); a duplicate key keeps
the first registrant, and collisions are separated by strcmp (hash alone could return a wrong kw_id)."""
if _kw_index == None: return
h: uint64 = _kw_hash_str(entry.name)
mask: sizet = sizet(_KW_IDX_CAP - 1)
idx: sizet = sizet(h) & mask
i: int = 0
while i < _KW_IDX_CAP:
for i in range(int(_KW_IDX_CAP)):
slot: sizet* = (sizet*)(t.CPtr(uint64(_kw_index) + uint64(idx * 8)))
cur_s: sizet = slot[0]
if cur_s == 0:
slot[0] = sizet(entry)
return
cur: KwEntry | t.CPtr = (KwEntry | t.CPtr)(t.CPtr(uint64(cur_s)))
cur: KwEntry* = (KwEntry*)(t.CPtr(uint64(cur_s)))
if string.strcmp(cur.name, entry.name) == 0:
return
idx = (idx + 1) & mask
i += 1
def _kw_intern(pool: rawptr[memhub.MemManager], name: str, kw_id: int):
def _kw_intern(pool: memhub.MemManager*, name: str, kw_id: int):
"""Register keyword name in the linked list"""
global _kw_head
entry: rawptr[KwEntry] = KwEntry(pool)
entry: KwEntry* = KwEntry(pool)
if entry == None: return
slen: sizet = string.strlen(name)
buf: str = pool.alloc(slen + 1)
@@ -310,38 +302,35 @@ def _kw_intern(pool: rawptr[memhub.MemManager], name: str, kw_id: int):
entry.kw_id = kw_id
entry.next = _kw_head
_kw_head = entry
# 同步写入哈希索引(关键字集合的唯一真源仍是上面的链表)
# Also write to the hash index (the linked list above is still the single source of truth)
_kw_index_put(entry)
def _kw_lookup(name: str) -> int:
"""Look up keyword name, return the kw_id (0 if not keyword)
"""Look up keyword name, return the kw_id (0 if not a keyword).
快速路径:查哈希索引(期望 O(1),不分配内存);索引未建成时回退原链表扫描。
Fast path: hash index (expected O(1), no allocation); falls back to the linked-list scan if not built.
"""
if name == None:
# 防御:str_val 为 NULL 时 _kw_hash_str 会在 NULL 上取字节,崩成
# ASAN "access-violation on unknown address 0x0",真因(池耗尽)被掩盖。
stdio.printf("[AST] _kw_lookup 收到 NULL 名称:token.str_val 未分配成功(内存池耗尽 / 未 set)\n")
# Defensive: a NULL str_val would crash _kw_hash_str and mask the real cause (pool exhausted).
stdio.printf("[AST] _kw_lookup got a NULL name: token.str_val not allocated (memory pool exhausted / not set)\n")
stdio.fflush(None)
stdlib.exit(1)
if _kw_index != None:
h: uint64 = _kw_hash_str(name)
mask: sizet = sizet(_KW_IDX_CAP - 1)
idx: sizet = sizet(h) & mask
i: int = 0
while i < _KW_IDX_CAP:
for i in range(int(_KW_IDX_CAP)):
slot: sizet* = (sizet*)(t.CPtr(uint64(_kw_index) + uint64(idx * 8)))
cur_s: sizet = slot[0]
if cur_s == 0:
return 0
cur: KwEntry | t.CPtr = (KwEntry | t.CPtr)(t.CPtr(uint64(cur_s)))
cur: KwEntry* = (KwEntry*)(t.CPtr(uint64(cur_s)))
if string.strcmp(cur.name, name) == 0:
return cur.kw_id
idx = (idx + 1) & mask
i += 1
return 0
cur2: rawptr[KwEntry] = _kw_head
cur2: KwEntry* = _kw_head
while cur2 != None:
if string.strcmp(cur2.name, name) == 0:
return cur2.kw_id
@@ -349,12 +338,12 @@ def _kw_lookup(name: str) -> int:
return 0
def _init_keywords(pool: rawptr[memhub.MemManager]):
def _init_keywords(pool: memhub.MemManager*):
"""Initialize keyword linked list (only once)"""
global _kw_head, _kw_pool, _kw_index
if _kw_head != None: return
_kw_pool = pool
# 建哈希索引槽数组(一次性分配;分配失败则 _kw_index 保持 None → 查找回退链表扫描)
# Allocate the index slot array once; on failure _kw_index stays None -> lookups fall back to the list
idx_buf: sizet* = pool.alloc(_KW_IDX_CAP * 8)
if idx_buf != None:
string.memset(idx_buf, 0, _KW_IDX_CAP * 8)
@@ -397,7 +386,7 @@ def _init_keywords(pool: rawptr[memhub.MemManager]):
_kw_intern(pool, "match", Keyword.Match)
_kw_intern(pool, "case", Keyword.Case)
_kw_intern(pool, "type", Keyword.Type)
# def 的别名关键字(fn/fun/func/function,语义与 def 完全相同)
# def alias keywords (fn/fun/func/function, identical semantics to def)
_kw_intern(pool, "fn", Keyword.Fn)
_kw_intern(pool, "fun", Keyword.Fun)
_kw_intern(pool, "func", Keyword.Func)
@@ -407,19 +396,26 @@ def _init_keywords(pool: rawptr[memhub.MemManager]):
_kw_intern(pool, "define", Keyword.Define)
_kw_intern(pool, "enum", Keyword.Enum)
_kw_intern(pool, "typedef", Keyword.Typedef)
# 类型描述符软关键字(仅注解位置生效,见 parser.vp 的 _parse_type_ann)
# Type-descriptor soft keywords (annotation position only, see _parse_type_ann)
_kw_intern(pool, "const", Keyword.Const)
_kw_intern(pool, "volatile", Keyword.Volatile)
# virtual / novirtual 修饰符软关键字(仅"语句起始 + 紧跟 class/def"生效,
# 见 parser.vp 的 _ParseVirtualModified)
_kw_intern(pool, "bigend", Keyword.BigEnd)
_kw_intern(pool, "littlend", Keyword.LittleEnd)
# virtual/novirtual modifier soft keywords (statement start before class/def only,
# see _ParseVirtualModified)
_kw_intern(pool, "virtual", Keyword.Virtual)
_kw_intern(pool, "novirtual", Keyword.Novirtual)
_kw_intern(pool, "union", Keyword.Union)
# renum 变体类型定义关键字(语法糖,同 enum/union,见 parser.vp 的 _parse_renumdef)
_kw_intern(pool, "renum", Keyword.Renum)
# struct 纯数据类型定义关键字(语法糖,同 enum/union/renum,见 parser.vp 的
# _parse_structdef:基类 t.CStruct + 伪装饰器 @t.NoVTable,禁 virtual/novirtual、禁 def)
_kw_intern(pool, "novirtual", Keyword.Novirtual)
# tls modifier soft keyword (statement start before def only, see _ParseTlsModified)
_kw_intern(pool, "tls", Keyword.Tls)
_kw_intern(pool, "union", Keyword.Union)
# renum variant-type keyword (sugar, same as enum/union; see _parse_renumdef)
_kw_intern(pool, "renum", Keyword.Renum)
# struct data-type keyword (sugar, same as enum/union/renum; see _parse_structdef:
# base t.CStruct + pseudo decorator @t.NoVTable, no virtual/novirtual and no def)
_kw_intern(pool, "struct", Keyword.Struct)
# switch / fallthrough keywords (see _parse_switch and _parse_small_stmt)
_kw_intern(pool, "switch", Keyword.Switch)
_kw_intern(pool, "fallthrough", Keyword.FallThrough)
# ============================================================
@@ -431,21 +427,21 @@ class OpEntry:
name: str # Operator text (e.g. "==", "+=")
op_id: int
length: int
next: rawptr[OpEntry]
next: OpEntry*
def __new__(self, pool: rawptr[memhub.MemManager]):
ptr: rawptr[OpEntry] = pool.alloc(OpEntry.__sizeof__())
def __new__(self, pool: memhub.MemManager*):
ptr: OpEntry* = pool.alloc(OpEntry.__sizeof__())
if ptr: string.memset(ptr, 0, OpEntry.__sizeof__())
return ptr
_op_head: rawptr[OpEntry] = None
_op_head: OpEntry* = None
def _op_intern(pool: rawptr[memhub.MemManager], name: str, op_id: int):
def _op_intern(pool: memhub.MemManager*, name: str, op_id: int):
global _op_head
slen: sizet = string.strlen(name)
entry: rawptr[OpEntry] = OpEntry(pool)
entry: OpEntry* = OpEntry(pool)
if entry == None: return
buf: str = pool.alloc(slen + 1)
if buf == None: return
@@ -457,7 +453,7 @@ def _op_intern(pool: rawptr[memhub.MemManager], name: str, op_id: int):
_op_head = entry
def _init_operators(pool: rawptr[memhub.MemManager]):
def _init_operators(pool: memhub.MemManager*):
"""Initialize the operator table (register in descending length order for easy greedy matching)"""
global _op_head
if _op_head != None: return
@@ -513,7 +509,7 @@ def _init_operators(pool: rawptr[memhub.MemManager]):
_op_intern(pool, "~", TokOp.Tilde)
def _init_tables(pool: rawptr[memhub.MemManager]):
def _init_tables(pool: memhub.MemManager*):
"""Initialize all lookup tables (idempotent)"""
_init_keywords(pool)
_init_operators(pool)
@@ -523,10 +519,10 @@ def _init_tables(pool: rawptr[memhub.MemManager]):
# Token creation helper functions
# ============================================================
def new_token(pool: rawptr[memhub.MemManager], ttype: int, lineno: int,
col_offset: int) -> rawptr[Token]:
def new_token(pool: memhub.MemManager*, ttype: int, lineno: int,
col_offset: int) -> Token*:
"""Create a new empty Token and fill in fields later"""
tok: rawptr[Token] = Token(pool)
tok: Token* = Token(pool)
if tok == None: return None
tok.type = ttype
tok.lineno = lineno
@@ -536,7 +532,7 @@ def new_token(pool: rawptr[memhub.MemManager], ttype: int, lineno: int,
return tok
def token_set_str(pool: rawptr[memhub.MemManager], tok: rawptr[Token],
def token_set_str(pool: memhub.MemManager*, tok: Token*,
src: str, start: sizet, length: sizet):
"""Copy text from src[start:start + length] to token.str_val
@@ -546,21 +542,19 @@ def token_set_str(pool: rawptr[memhub.MemManager], tok: rawptr[Token],
buf: str = pool.alloc(length + 1)
if buf == None:
_ast_pool_fatal("token.str_val", length + 1)
i: sizet = 0
while i < length:
for i in range(int(length)):
buf[i] = src[start + i]
i += 1
buf[length] = '\0'
tok.str_val = buf
def token_set_str_literal(pool: rawptr[memhub.MemManager], tok: rawptr[Token],
def token_set_str_literal(pool: memhub.MemManager*, tok: Token*,
text: str):
"""Copy a C string to token.str_val"""
if tok == None or text == None: return
slen: sizet = string.strlen(text)
buf: str = pool.alloc(slen + 1)
if buf == None:
_ast_pool_fatal("token.str_val(字面量)", slen + 1)
_ast_pool_fatal("token.str_val(literal)", slen + 1)
string.memcpy(buf, text, slen + 1)
tok.str_val = buf
+9 -12
View File
@@ -1,6 +1,3 @@
import t, c
define ATOMIC_RELAXED = 0
define ATOMIC_CONSUME = 1
define ATOMIC_ACQUIRE = 2
@@ -11,22 +8,22 @@ define ATOMIC_SEQ_CST = 5
def __atomic_test_and_set(ptr: uint64*, order: int) -> bool:
result: uint8 = 1
c.Asm(f"""mov al, 1
xchg byte ptr [{c.AsmInp(ptr, t.ASM_DESCR.REG_ANY)}], al
__asm__(f"""mov al, 1
xchg byte ptr [{asminp(ptr, ASM_DESCR.REG_ANY)}], al
mov $0, al""",
out = [c.AsmOut(result, t.ASM_DESCR.OUTPUT_REG)],
op = [t.ASM_DESCR.CLOBBER_MEMORY, t.ASM_DESCR.CLOBBER_RAX])
return t.CBool(result)
out = [asmout(result, ASM_DESCR.OUTPUT_REG)],
op = [ASM_DESCR.CLOBBER_MEMORY, ASM_DESCR.CLOBBER_RAX])
return bool(result)
def __atomic_clear(ptr: uint64*, order: int):
c.Asm(f"""mov byte ptr [{c.AsmInp(ptr, t.ASM_DESCR.REG_ANY)}], 0""",
inp = [c.AsmInp(ptr, t.ASM_DESCR.REG_ANY)],
op = [t.ASM_DESCR.CLOBBER_MEMORY])
__asm__(f"""mov byte ptr [{asminp(ptr, ASM_DESCR.REG_ANY)}], 0""",
inp = [asminp(ptr, ASM_DESCR.REG_ANY)],
op = [ASM_DESCR.CLOBBER_MEMORY])
def __atomic_thread_fence(order: int):
c.Asm("mfence", op=[t.ASM_DESCR.CLOBBER_MEMORY])
__asm__("mfence", op=[ASM_DESCR.CLOBBER_MEMORY])
def __atomic_signal_fence(order: int):
+13 -14
View File
@@ -1,13 +1,10 @@
import t, c
# ==============================================
# Base64 Encoder & Decoder, pure bare-metal implementation
# ==============================================
# Base64 encoding lookup table
b64_tab: []char = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"
# Base64 反向解码表,映射字符到索引值
# Base64 reverse decode table mapping characters to index values
b64_dec_tab: [80]int8 = [
62, -1, -1, -1, 63, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
-1, -1, -1, -1, -1, -1, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
@@ -27,7 +24,7 @@ def b64encode(s: str, out: str) -> sizet:
j: sizet = 0
val: uint32 = 0
# Process input in groups of 3 bytes, produce 4 Base64 characters
for i in range(0, length, 3):
for i in range(0, int(length), 3):
# Assemble 24-bit chunk
val = ((uint32(_s[i + 0]) << 16 ) |
(uint32(_s[i + 1]) << 8 if (i + 1 < length) else 0) |
@@ -46,33 +43,35 @@ def b64encode(s: str, out: str) -> sizet:
# * @param s: Base64 encoded string
# * @param out: Output binary buffer
# * @retval Length of decoded binary data
def b64decode(s: str, out: uint8 | t.CPtr) -> sizet:
def b64decode(s: str, out: uint8*) -> sizet:
length: sizet = len(s)
i: sizet = 0
j: sizet = 0
val: uint32 = 0
c: t.CInt
c: int
# Restore 3 bytes from every 4 Base64 characters
for i in range(0, length, 4):
for i in range(0, int(length), 4):
if s[i] == '=':
break
val = 0
# Parse 6-bit values sequentially
c = s[i] - 43
val |= (b64_dec_tab[c] & 0x3F) << 18
# 整数提升取消后,`& 0x3F` 的无损常量适配会把左操作数留成 i8(位宽仅 8),<< 18 / << 12 越界报错;
# 显式 uint32() 把左操作数加宽到 32 位后再移位(与上方编码段 uint32(...) << 16 的先例一致)。
val |= uint32(b64_dec_tab[c] & 0x3F) << 18
c = s[i+1] - 43
val |= (b64_dec_tab[c] & 0x3F) << 12
val |= uint32(b64_dec_tab[c] & 0x3F) << 12
c = s[i+2] - 43
if s[i+2] != '=': val |= (b64_dec_tab[c] & 0x3F) << 6
if s[i+2] != '=': val |= uint32(b64_dec_tab[c] & 0x3F) << 6 # 同上:i8 左操作数左移 6 位会截断高位(静默回绕)
c = s[i+3] - 43
if s[i+3] != '=': val |= (b64_dec_tab[c] & 0x3F)
# Write recovered bytes
out[j] = (val >> 16) & 0xFF
out[j] = uint8((val >> 16) & 0xFF)
j += 1
if s[i+2] != '=':
out[j] = (val >> 8) & 0xFF
out[j] = uint8((val >> 8) & 0xFF)
j += 1
if s[i+3] != '=':
out[j] = val & 0xFF
out[j] = uint8(val & 0xFF)
j += 1
return j
+16 -17
View File
@@ -1,4 +1,4 @@
import t, c
import t
import stdlib
@@ -102,21 +102,20 @@ def init_binascii():
HEX_VALS[int(HEX_CHARS[i] - 32)] = i
for i in range(64):
B64_VALS[int(B64_CHARS[i])] = i
# HQX_VALS 由标准 BinHex 字母表(见 HQX_CHARS 静态初值,RFC 1741)反查建立。
# 注意:此处【不得】再重写 HQX_CHARS——此前用 `chr(32 + i)` 覆盖 0..63,
# 会把标准 BinHex 表整张冲掉,导致 b2a_hqx/a2b_hqx 与 RFC 1741 不兼容。
# HQX_VALS is reverse-mapped from the standard BinHex alphabet (HQX_CHARS, RFC 1741).
# Never overwrite HQX_CHARS here: it would break RFC 1741 compatibility of b2a_hqx/a2b_hqx.
for i in range(64):
HQX_VALS[uchar(HQX_CHARS[i])] = i
def crc32(data: str, length: int, crc: uint) -> uint:
s: uint = crc ^ 0xFFFFFFFF
for i in range(length):
for i in range(int(length)):
s = CRC32_TABLE[(s ^ uchar(data[i])) & 0xFF] ^ (s >> 8)
return s ^ 0xFFFFFFFF
def crc_hqx(data: str, length: int, crc: ushort) -> ushort:
s: ushort = crc
for i in range(length):
for i in range(int(length)):
s = CRC_HQX_TABLE[uchar(s >> 8)] ^ (s << 1 | (data[i] & 0xFF))
return s
@@ -125,7 +124,7 @@ def hexlify(data: str, length: int) -> str:
out: str = str(stdlib.malloc(length * 2 + 1))
if not out: return None
oi: int = 0
for i in range(length):
for i in range(int(length)):
s: uchar = uchar(data[i])
out[oi + 0] = HEX_CHARS[(s >> 4) & 0x0F]
out[oi + 1] = HEX_CHARS[(s >> 0) & 0x0F]
@@ -142,7 +141,7 @@ def a2b_hex(hexstr: str, length: int) -> str:
out: str = str(stdlib.malloc(out_len + 1))
if not out: return None
oi: int = 0
for i in range(0, length, 2):
for i in range(0, int(length), 2):
hi: int = HEX_VALS[uchar(hexstr[i])]
lo: int = HEX_VALS[uchar(hexstr[i + 1])]
if hi < 0 or lo < 0:
@@ -165,7 +164,7 @@ def b2a_base64(data: str, length: int) -> str:
out: str = str(stdlib.malloc(olen + 1))
if not out: return None
oi: int = 0
for i in range(0, length, 3):
for i in range(0, int(length), 3):
b0: uchar = uchar(data[i])
b1: uchar = 0
b2: uchar = 0
@@ -200,7 +199,7 @@ def a2b_base64(data: str, length: int) -> str:
out: str = str(stdlib.malloc(olen + 1))
if not out: return None
oi: int = 0
for i in range(0, length, 4):
for i in range(0, int(length), 4):
v0: int = 0
v1: int = 0
v2: int = 0
@@ -237,7 +236,7 @@ def b2a_uu(data: str, length: int) -> str:
oi: int = 0
out[oi] = UU_CHARS[length]
oi += 1
for i in range(0, length, 3):
for i in range(0, int(length), 3):
b0: uchar = uchar(data[i])
b1: uchar = 0
b2: uchar = 0
@@ -296,14 +295,14 @@ def b2a_hqx(data: str, length: int, crc: ushort = 0) -> tuple[str, ushort]:
out: str = str(stdlib.malloc(5))
if not out:
return None, crc
# 3字节 → 4字节 HQX
# Pack 3 source bytes into 4 HQX characters.
m: uint = (uchar(data[0]) << 16) | (uchar(data[1]) << 8) | uchar(data[2])
out[0] = HQX_CHARS[(m >> 18) & 0x3F]
out[1] = HQX_CHARS[(m >> 12) & 0x3F]
out[2] = HQX_CHARS[(m >> 6) & 0x3F]
out[3] = HQX_CHARS[m & 0x3F]
out[4] = '\0'
# CRC 初始化 + 正确计算
# Seed the CRC with the caller's value, then fold in the 3 source bytes.
s: ushort = crc
for i in range(3):
byte: uchar = uchar(data[i])
@@ -314,12 +313,12 @@ def b2a_hqx(data: str, length: int, crc: ushort = 0) -> tuple[str, ushort]:
def a2b_hqx(data: str, crc: ushort = 0) -> tuple[str, ushort]:
if not data:
return None, crc
# 检查字符是否有效
# Reject the input as soon as any character is not a valid HQX symbol.
for i in range(4):
cchar: uchar = uchar(data[i])
if HQX_VALS[cchar] < 0:
return None, crc
# 解码
# Unpack 4 HQX characters back into 3 bytes.
m: uint = 0
for i in range(4):
m = (m << 6) | uint(HQX_VALS[uchar(data[i])])
@@ -330,7 +329,7 @@ def a2b_hqx(data: str, crc: ushort = 0) -> tuple[str, ushort]:
out[1] = char((m >> 8) & 0xFF)
out[2] = char(m & 0xFF)
out[3] = '\0'
# CRC 初始化 + 正确计算
# Seed the CRC with the caller's value, then fold in the 3 decoded bytes.
s: ushort = crc
for i in range(3):
byte: uchar = uchar(out[i])
@@ -340,7 +339,7 @@ def a2b_hqx(data: str, crc: ushort = 0) -> tuple[str, ushort]:
def adler32(data: str, length: int, adler: uint) -> uint:
a: uint = adler & 0xFFFF
b: uint = (adler >> 16) & 0xFFFF
for i in range(length):
for i in range(int(length)):
a = (a + uchar(data[i])) % 65521
b = (b + a) % 65521
return (b << 16) | a
+8 -7
View File
@@ -1,4 +1,3 @@
import stdint as __stdint
import t
@@ -38,10 +37,12 @@ typedef uintleast32 = t.CUIntLeast32T
typedef uintleast64 = t.CUIntLeast64T
typedef uchar = t.CUnsignedChar
typedef short = t.CShort
typedef ushort = t.CUnsignedShort
typedef short = int16
typedef ushort = uint16
typedef uint = t.CUnsignedInt
typedef long = t.CLong
typedef ulong = t.CUnsignedLong
typedef longlong = t.CLongLong
typedef ulonglong = t.CUnsignedLongLong
typedef long = int32
typedef ulong = uint32
typedef longlong = int64
typedef ulonglong = uint64
typedef ptrdifft = t.CPtrDiffT
+11 -12
View File
@@ -1,7 +1,6 @@
import t, c
from stdint import *
from w32.win32base import *
from w32.win32sync import (
from win32.win32base import *
from win32.win32sync import (
CRITICAL_SECTION,
CONDITION_VARIABLE,
InitializeCriticalSection, EnterCriticalSection, LeaveCriticalSection, DeleteCriticalSection,
@@ -24,25 +23,25 @@ class Condition:
cs: CRITICAL_SECTION
def __init__(self):
InitializeCriticalSection(c.Addr(self.cs))
InitializeConditionVariable(c.Addr(self.cond_var))
InitializeCriticalSection(&self.cs)
InitializeConditionVariable(&self.cond_var)
def wait(self, timeout_ms: ULONG = INFINITE) -> BOOL:
return SleepConditionVariableCS(c.Addr(self.cond_var), c.Addr(self.cs), timeout_ms)
return SleepConditionVariableCS(&self.cond_var, &self.cs, timeout_ms)
def notify(self):
WakeConditionVariable(c.Addr(self.cond_var))
WakeConditionVariable(&self.cond_var)
def notify_all(self):
WakeAllConditionVariable(c.Addr(self.cond_var))
WakeAllConditionVariable(&self.cond_var)
def acquire(self):
EnterCriticalSection(c.Addr(self.cs))
EnterCriticalSection(&self.cs)
def release(self):
LeaveCriticalSection(c.Addr(self.cs))
LeaveCriticalSection(&self.cs)
def __enter__(self) -> 'Condition' | t.CPtr:
def __enter__(self) -> Condition*:
self.acquire()
return self
@@ -50,4 +49,4 @@ class Condition:
self.release()
def delete(self):
DeleteCriticalSection(c.Addr(self.cs))
DeleteCriticalSection(&self.cs)
+12 -20
View File
@@ -1,52 +1,44 @@
import t, c
from stdint import *
import stdlib
novirtual class Coroutine:
"""协程帧句柄(M1:__ptr__ 持有 create_<name>() 返回的帧指针)。
纯句柄语义:从不实例化/多态分派,编译器全拦截 coro.* 调用;
用户代码句柄统一用 t.CPtr。"""
"""Coroutine frame handle (M1: __ptr__ holds the frame pointer returned by create_<name>()).
Pure handle semantics: never instantiated or polymorphically dispatched, the compiler intercepts all coro.* calls; user code uses t.CPtr as the handle."""
__ptr__: rawptr
def coro_resume(c: Coroutine) -> int:
# M1 占位:实际由编译器将 coro.coro_run 内联翻译为 resume_<name> 循环,
# 本函数不会被真正调用(仅保证模块可编译)。
# M1 placeholder: the compiler inlines coro.coro_run into a resume_<name> loop; this function is never actually called (it only keeps the module compilable).
return 0
def coro_result(c: Coroutine) -> int:
# M1 占位:coro_run 内联翻译直接从帧 ret 槽取结果。
# M1 placeholder: coro_run's inline translation reads the result directly from the frame ret slot.
return 0
def coro_run(c: Coroutine) -> int:
# M1 占位实现:编译器在调用点对 coro.coro_run 做内联翻译(resume 循环)。
# M1 placeholder: the compiler inlines coro.coro_run at the call site (resume loop).
s: int = 0
while s == 0:
s = coro_resume(c)
return coro_result(c)
def coro_sleep(ms: int) -> int:
# M3 占位:编译器将 await coro_sleep(ms) 内联翻译为帧 wake 槽挂起,
# 本函数不会被真正调用(仅保证模块可编译)。
# M3 placeholder: the compiler inlines await coro_sleep(ms) into a frame wake-slot suspend; this function is never actually called (it only keeps the module compilable).
return 0
def coro_destroy(c: Coroutine):
# M3 占位:编译器将 coro.coro_destroy(帧) 内联翻译为 free。
# M3 placeholder: the compiler inlines coro.coro_destroy(frame) into free.
return
def coro_exception(c: Coroutine) -> int:
# M4 占位:编译器将 coro.coro_exception(帧) 内联翻译为帧 exc 槽读取。
# M4 placeholder: the compiler inlines coro.coro_exception(frame) into a frame exc-slot read.
return 0
def coro_gather(a: Coroutine) -> int:
# M4 占位:编译器将 coro.coro_gather(帧...) 内联翻译为并发推进循环。
# M4 placeholder: the compiler inlines coro.coro_gather(frames...) into a concurrent-advance loop.
return 0
def coro_exception_msg(c: Coroutine) -> t.CPtr:
# M7 占位:编译器将 coro.coro_exception_msg(帧) 内联翻译为帧 msg 槽读取。
# 注意:TPV(Viper)不支持裸 null,用 t.CPtr(0) 构造空指针(两编译器兼容)。
def coro_exception_msg(c: Coroutine) -> rawptr:
# M7 placeholder: the compiler inlines coro.coro_exception_msg(frame) into a frame msg-slot read.
# Note: VPC (Viper) does not support bare null; use t.CPtr(0) to build a null pointer (compatible with both compilers).
return None
+4 -3
View File
@@ -1,7 +1,8 @@
"""ctraits — Compile-time type trait library
Provides compile-time type predicates with no runtime code generated.
All functions are evaluated exclusively at compile time and can be combined with conditional compilation constructs such as c.CIf.
All functions are evaluated exclusively at compile time and can be combined with the conditional
compilation statements cif / celif / celse.
"""
import t
@@ -9,10 +10,10 @@ def isptr(x: t.CType) -> bool:
"""Compile-time predicate to determine whether the type of x is a pointer.
Returns True if x is a pointer type (ptr_count > 0); otherwise returns False.
Can be used alongside c.CIf to implement conditional compilation.
Can be used alongside cif to implement conditional compilation.
Example:
if c.CIf(ctraits.isptr(my_var)):
cif ctraits.isptr(my_var):
# This branch compiles only when my_var is a pointer type
...
"""
+2 -3
View File
@@ -1,7 +1,6 @@
import t, c
from stdint import *
from w32.win32base import *
from w32.win32sync import CreateEventA, SetEvent, ResetEvent, WaitForSingleObject
from win32.win32base import *
from win32.win32sync import CreateEventA, SetEvent, ResetEvent, WaitForSingleObject
class Event:
-3
View File
@@ -1,3 +0,0 @@
# 此目录内嵌完整 cfltk + FLTK C/C++ 源码树(已在 includes/fltk/cfltk/build 预编译为
# 静态库 libcfltk2.a / libfltk*.a)。TPC 遇到本标记时跳过该 include 模块的 C/C++
# 源码自动编译与库文件自动发现,改由 project.vpj 的 linker.static_libs 显式链接。
-92
View File
@@ -1,92 +0,0 @@
---
Language: Cpp
AccessModifierOffset: -2
AlignAfterOpenBracket: Align
AlignConsecutiveAssignments: false
AlignConsecutiveDeclarations: false
AlignEscapedNewlines: Right
AlignOperands: true
AlignTrailingComments: true
AllowAllParametersOfDeclarationOnNextLine: true
AllowShortBlocksOnASingleLine: false
AllowShortCaseLabelsOnASingleLine: false
AllowShortFunctionsOnASingleLine: true
AllowShortIfStatementsOnASingleLine: false
AllowShortLoopsOnASingleLine: false
AlwaysBreakAfterDefinitionReturnType: None
AlwaysBreakAfterReturnType: None
AlwaysBreakBeforeMultilineStrings: false
AlwaysBreakTemplateDeclarations: true
BinPackArguments: true
BinPackParameters: true
BreakBeforeBraces: Custom
BraceWrapping:
AfterClass: false
AfterControlStatement: false
AfterEnum: false
AfterFunction: false
AfterNamespace: false
AfterObjCDeclaration: false
AfterStruct: false
AfterUnion: false
AfterExternBlock: false
BeforeCatch: false
BeforeElse: false
IndentBraces: false
SplitEmptyFunction: false
SplitEmptyRecord: false
SplitEmptyNamespace: false
BreakBeforeBinaryOperators: None
BreakBeforeInheritanceComma: false
BreakBeforeTernaryOperators: true
BreakConstructorInitializersBeforeComma: false
BreakConstructorInitializers: BeforeColon
BreakStringLiterals: true
ColumnLimit: 100
CommentPragmas: '^ IWYU pragma:'
CompactNamespaces: false
ConstructorInitializerAllOnOneLineOrOnePerLine: false
ConstructorInitializerIndentWidth: 4
ContinuationIndentWidth: 4
Cpp11BracedListStyle: true
DerivePointerAlignment: false
DisableFormat: false
ExperimentalAutoDetectBinPacking: false
FixNamespaceComments: true
IncludeBlocks: Preserve
IndentCaseLabels: false
IndentPPDirectives: None
IndentWidth: 4
IndentWrappedFunctionNames: false
KeepEmptyLinesAtTheStartOfBlocks: true
MacroBlockBegin: ''
MacroBlockEnd: ''
MaxEmptyLinesToKeep: 1
NamespaceIndentation: None
PenaltyBreakAssignment: 2
PenaltyBreakBeforeFirstCallParameter: 19
PenaltyBreakComment: 300
PenaltyBreakFirstLessLess: 120
PenaltyBreakString: 1000
PenaltyExcessCharacter: 1000000
PenaltyReturnTypeOnItsOwnLine: 60
PointerAlignment: Right
ReflowComments: true
SortIncludes: true
SortUsingDeclarations: true
SpaceAfterCStyleCast: false
SpaceAfterTemplateKeyword: true
SpaceBeforeAssignmentOperators: true
SpaceBeforeParens: ControlStatements
SpaceInEmptyParentheses: false
SpacesBeforeTrailingComments: 1
SpacesInAngles: false
SpacesInContainerLiterals: true
SpacesInCStyleCastParentheses: false
SpacesInParentheses: false
SpacesInSquareBrackets: false
Standard: Cpp11
TabWidth: 8
UseTab: Never
...
-37
View File
@@ -1,37 +0,0 @@
# Prerequisites
*.d
# Compiled Object files
*.slo
*.lo
*.o
*.obj
# Precompiled Headers
*.gch
*.pch
# Compiled Dynamic libraries
*.so
*.dylib
*.dll
# Fortran module files
*.mod
*.smod
# Compiled Static libraries
*.lai
*.la
*.a
*.lib
# Executables
*.exe
*.out
*.app
main
index.html
metro
temp.html
-61
View File
@@ -1,61 +0,0 @@
#pragma once
#include "color_themes/all.hpp"
#include "widget_schemes/all.hpp"
#include <FL/Enumerations.H>
#include <FL/Fl.H>
#include <stddef.h>
struct ColorTheme {
template <size_t N>
static void apply(const unsigned char (&color_map)[N][4]) {
for (size_t i = 0; i < N; i++) {
auto val = color_map[i];
Fl::set_color(val[0], val[1], val[2], val[3]);
}
}
};
enum class SchemeType {
Flat,
Metro,
};
struct WidgetScheme {
static void apply(SchemeType typ) {
switch (typ) {
case SchemeType::Flat:
init_flat_theme();
}
}
};
enum class ThemeType {
Dark,
Metro,
};
struct WidgetTheme {
static void apply(ThemeType typ) {
switch (typ) {
case ThemeType::Dark: {
init_flat_theme();
ColorTheme::apply(BLACK_THEME);
Fl::background(70, 70, 70);
Fl::foreground(255, 255, 255);
Fl::set_color(FL_SELECTION_COLOR, 48, 79, 120);
break;
}
case ThemeType::Metro: {
init_metro_theme();
Fl::background(0xF0, 0xF0, 0xF0);
Fl::background2(0xFF, 0xFF, 0xFF);
Fl::foreground(0x00, 0x00, 0x00);
Fl::set_color(FL_INACTIVE_COLOR, 0x6F, 0x6F, 0x6F);
Fl::set_color(FL_SELECTION_COLOR, 0x33, 0x99, 0xFF);
Fl::set_color(FL_FREE_COLOR, 0xFF, 0xFF, 0xFF);
break;
}
}
}
};
@@ -1,7 +0,0 @@
#pragma once
#include "black.hpp"
#include "gray.hpp"
#include "tan.hpp"
#include "shake.hpp"
#include "dark.hpp"
@@ -1,259 +0,0 @@
#pragma once
static const unsigned char BLACK_THEME[][4] = {
{0, 140, 140, 140},
{1, 120, 0, 0},
{2, 0, 120, 0},
{3, 120, 120, 0},
{4, 0, 0, 120},
{5, 120, 0, 120},
{6, 0, 120, 120},
{7, 0, 0, 0},
{8, 100, 100, 100},
{9, 100, 0, 0},
{10, 0, 100, 0},
{11, 100, 100, 0},
{12, 0, 0, 100},
{13, 100, 0, 100},
{14, 0, 100, 100},
{15, 50, 50, 50},
{32, 180, 180, 180},
{33, 122, 122, 122},
{34, 117, 117, 117},
{35, 112, 112, 112},
{36, 106, 106, 106},
{37, 101, 101, 101},
{38, 96, 96, 96},
{39, 90, 90, 90},
{40, 85, 85, 85},
{41, 80, 80, 80},
{42, 74, 74, 74},
{43, 69, 69, 69},
{44, 64, 64, 64},
{45, 58, 58, 58},
{46, 53, 53, 53},
{47, 48, 48, 48},
{48, 42, 42, 42},
{49, 37, 37, 37},
{50, 32, 32, 32},
{51, 26, 26, 26},
{52, 21, 21, 21},
{53, 16, 16, 16},
{54, 10, 10, 10},
{55, 0, 0, 0},
{56, 0, 0, 0},
{57, 0, 16, 0},
{58, 0, 31, 0},
{59, 0, 47, 0},
{60, 0, 63, 0},
{61, 0, 79, 0},
{62, 0, 94, 0},
{63, 0, 110, 0},
{64, 28, 0, 0},
{65, 28, 16, 0},
{66, 28, 31, 0},
{67, 28, 47, 0},
{68, 28, 63, 0},
{69, 28, 79, 0},
{70, 28, 94, 0},
{71, 28, 110, 0},
{72, 55, 0, 0},
{73, 55, 16, 0},
{74, 55, 31, 0},
{75, 55, 47, 0},
{76, 55, 63, 0},
{77, 55, 79, 0},
{78, 55, 94, 0},
{79, 55, 110, 0},
{80, 83, 0, 0},
{81, 83, 16, 0},
{82, 83, 31, 0},
{83, 83, 47, 0},
{84, 83, 63, 0},
{85, 83, 79, 0},
{86, 83, 94, 0},
{87, 83, 110, 0},
{88, 110, 0, 0},
{89, 110, 16, 0},
{90, 110, 31, 0},
{91, 110, 47, 0},
{92, 110, 63, 0},
{93, 110, 79, 0},
{94, 110, 94, 0},
{95, 110, 110, 0},
{96, 0, 0, 28},
{97, 0, 16, 28},
{98, 0, 31, 28},
{99, 0, 47, 28},
{100, 0, 63, 28},
{101, 0, 79, 28},
{102, 0, 94, 28},
{103, 0, 110, 28},
{104, 28, 0, 28},
{105, 28, 16, 28},
{106, 28, 31, 28},
{107, 28, 47, 28},
{108, 28, 63, 28},
{109, 28, 79, 28},
{110, 28, 94, 28},
{111, 28, 110, 28},
{112, 55, 0, 28},
{113, 55, 16, 28},
{114, 55, 31, 28},
{115, 55, 47, 28},
{116, 55, 63, 28},
{117, 55, 79, 28},
{118, 55, 94, 28},
{119, 55, 110, 28},
{120, 83, 0, 28},
{121, 83, 16, 28},
{122, 83, 31, 28},
{123, 83, 47, 28},
{124, 83, 63, 28},
{125, 83, 79, 28},
{126, 83, 94, 28},
{127, 83, 110, 28},
{128, 110, 0, 28},
{129, 110, 16, 28},
{130, 110, 31, 28},
{131, 110, 47, 28},
{132, 110, 63, 28},
{133, 110, 79, 28},
{134, 110, 94, 28},
{135, 110, 110, 28},
{136, 0, 0, 55},
{137, 0, 16, 55},
{138, 0, 31, 55},
{139, 0, 47, 55},
{140, 0, 63, 55},
{141, 0, 79, 55},
{142, 0, 94, 55},
{143, 0, 110, 55},
{144, 28, 0, 55},
{145, 28, 16, 55},
{146, 28, 31, 55},
{147, 28, 47, 55},
{148, 28, 63, 55},
{149, 28, 79, 55},
{150, 28, 94, 55},
{151, 28, 110, 55},
{152, 55, 0, 55},
{153, 55, 16, 55},
{154, 55, 31, 55},
{155, 55, 47, 55},
{156, 55, 63, 55},
{157, 55, 79, 55},
{158, 55, 94, 55},
{159, 55, 110, 55},
{160, 83, 0, 55},
{161, 83, 16, 55},
{162, 83, 31, 55},
{163, 83, 47, 55},
{164, 83, 63, 55},
{165, 83, 79, 55},
{166, 83, 94, 55},
{167, 83, 110, 55},
{168, 110, 0, 55},
{169, 110, 16, 55},
{170, 110, 31, 55},
{171, 110, 47, 55},
{172, 110, 63, 55},
{173, 110, 79, 55},
{174, 110, 94, 55},
{175, 110, 110, 55},
{176, 0, 0, 83},
{177, 0, 16, 83},
{178, 0, 31, 83},
{179, 0, 47, 83},
{180, 0, 63, 83},
{181, 0, 79, 83},
{182, 0, 94, 83},
{183, 0, 110, 83},
{184, 28, 0, 83},
{185, 28, 16, 83},
{186, 28, 31, 83},
{187, 28, 47, 83},
{188, 28, 63, 83},
{189, 28, 79, 83},
{190, 28, 94, 83},
{191, 28, 110, 83},
{192, 55, 0, 83},
{193, 55, 16, 83},
{194, 55, 31, 83},
{195, 55, 47, 83},
{196, 55, 63, 83},
{197, 55, 79, 83},
{198, 55, 94, 83},
{199, 55, 110, 83},
{200, 83, 0, 83},
{201, 83, 16, 83},
{202, 83, 31, 83},
{203, 83, 47, 83},
{204, 83, 63, 83},
{205, 83, 79, 83},
{206, 83, 94, 83},
{207, 83, 110, 83},
{208, 110, 0, 83},
{209, 110, 16, 83},
{210, 110, 31, 83},
{211, 110, 47, 83},
{212, 110, 63, 83},
{213, 110, 79, 83},
{214, 110, 94, 83},
{215, 110, 110, 83},
{216, 0, 0, 110},
{217, 0, 16, 110},
{218, 0, 31, 110},
{219, 0, 47, 110},
{220, 0, 63, 110},
{221, 0, 79, 110},
{222, 0, 94, 110},
{223, 0, 110, 110},
{224, 28, 0, 110},
{225, 28, 16, 110},
{226, 28, 31, 110},
{227, 28, 47, 110},
{228, 28, 63, 110},
{229, 28, 79, 110},
{230, 28, 94, 110},
{231, 28, 110, 110},
{232, 55, 0, 110},
{233, 55, 16, 110},
{234, 55, 31, 110},
{235, 55, 47, 110},
{236, 55, 63, 110},
{237, 55, 79, 110},
{238, 55, 94, 110},
{239, 55, 110, 110},
{240, 83, 0, 110},
{241, 83, 16, 110},
{242, 83, 31, 110},
{243, 83, 47, 110},
{244, 83, 63, 110},
{245, 83, 79, 110},
{246, 83, 94, 110},
{247, 83, 110, 110},
{248, 110, 0, 110},
{249, 110, 16, 110},
{250, 110, 31, 110},
{251, 110, 47, 110},
{252, 110, 63, 110},
{253, 110, 79, 110},
{254, 110, 94, 110},
{255, 110, 110, 110},
{0, 140, 140, 140},
{1, 180, 40, 40},
{2, 0, 120, 0},
{4, 100, 100, 240},
{5, 160, 60, 160},
{9, 100, 0, 0},
{13, 60, 20, 60},
{15, 200, 50, 50},
{59, 40, 140, 40},
{90, 160, 120, 40},
{94, 120, 80, 20},
{95, 140, 140, 100},
{124, 90, 68, 30},
{254, 50, 70, 70},
{255, 70, 70, 70},
};
@@ -1,56 +0,0 @@
#pragma once
static const unsigned char DARK_THEME[][4] = {
{0, 200, 200, 200},
{1, 150, 30, 30},
{2, 0, 180, 0},
{3, 180, 180, 0},
{4, 0, 0, 180},
{5, 180, 0, 180},
{6, 0, 180, 180},
{7, 50, 50, 50},
{8, 100, 100, 100},
{9, 150, 90, 90},
{10, 90, 150, 90},
{11, 150, 150, 90},
{12, 90, 90, 150},
{13, 150, 90, 150},
{14, 90, 150, 150},
{15, 150, 150, 150},
{32, 5, 5, 5},
{33, 10, 10, 10},
{34, 16, 16, 16},
{35, 21, 21, 21},
{36, 26, 26, 26},
{37, 32, 32, 32},
{38, 37, 37, 37},
{39, 42, 42, 42},
{40, 48, 48, 48},
{41, 53, 53, 53},
{42, 58, 58, 58},
{43, 64, 64, 64},
{44, 69, 69, 69},
{45, 74, 74, 74},
{46, 80, 80, 80},
{47, 85, 85, 85},
{48, 90, 90, 90},
{49, 96, 96, 96},
{50, 101, 101, 101},
{51, 106, 106, 106},
{52, 112, 112, 112},
{53, 117, 117, 117},
{54, 122, 122, 122},
{55, 180, 180, 180},
{56, 0, 0, 0},
{59, 30, 140, 30},
{63, 0, 180, 0},
{71, 0, 180, 0},
{88, 180, 0, 0},
{90, 200, 72, 60},
{91, 180, 120, 0},
{95, 180, 180, 0},
{124, 191, 145, 63},
{94, 150, 100, 30},
{254, 60, 66, 66},
{255, 50, 50, 50},
};
@@ -1,245 +0,0 @@
#pragma once
static const unsigned char GRAY_THEME[][4] = {
{0, 0, 0, 0},
{1, 255, 0, 0},
{2, 0, 255, 0},
{3, 255, 255, 0},
{4, 0, 0, 255},
{5, 255, 0, 255},
{6, 0, 255, 255},
{7, 255, 255, 255},
{8, 85, 85, 85},
{9, 198, 113, 113},
{10, 113, 198, 113},
{11, 142, 142, 56},
{12, 113, 113, 198},
{13, 142, 56, 142},
{14, 56, 142, 142},
{15, 0, 0, 128},
{32, 0, 0, 0},
{33, 13, 13, 13},
{34, 26, 26, 26},
{35, 38, 38, 38},
{36, 49, 49, 49},
{37, 61, 61, 61},
{38, 72, 72, 72},
{39, 85, 85, 85},
{40, 95, 95, 95},
{41, 106, 106, 106},
{42, 117, 117, 117},
{43, 128, 128, 128},
{44, 138, 138, 138},
{45, 149, 149, 149},
{46, 160, 160, 160},
{47, 170, 170, 170},
{48, 181, 181, 181},
{49, 192, 192, 192},
{50, 203, 203, 203},
{51, 213, 213, 213},
{52, 224, 224, 224},
{53, 234, 234, 234},
{54, 245, 245, 245},
{55, 255, 255, 255},
{56, 0, 0, 0},
{57, 0, 36, 0},
{58, 0, 73, 0},
{59, 0, 109, 0},
{60, 0, 146, 0},
{61, 0, 182, 0},
{62, 0, 219, 0},
{63, 0, 255, 0},
{64, 64, 0, 0},
{65, 64, 36, 0},
{66, 64, 73, 0},
{67, 64, 109, 0},
{68, 64, 146, 0},
{69, 64, 182, 0},
{70, 64, 219, 0},
{71, 64, 255, 0},
{72, 128, 0, 0},
{73, 128, 36, 0},
{74, 128, 73, 0},
{75, 128, 109, 0},
{76, 128, 146, 0},
{77, 128, 182, 0},
{78, 128, 219, 0},
{79, 128, 255, 0},
{80, 191, 0, 0},
{81, 191, 36, 0},
{82, 191, 73, 0},
{83, 191, 109, 0},
{84, 191, 146, 0},
{85, 191, 182, 0},
{86, 191, 219, 0},
{87, 191, 255, 0},
{88, 255, 0, 0},
{89, 255, 36, 0},
{90, 255, 73, 0},
{91, 255, 109, 0},
{92, 255, 146, 0},
{93, 255, 182, 0},
{94, 255, 219, 0},
{95, 255, 255, 0},
{96, 0, 0, 64},
{97, 0, 36, 64},
{98, 0, 73, 64},
{99, 0, 109, 64},
{100, 0, 146, 64},
{101, 0, 182, 64},
{102, 0, 219, 64},
{103, 0, 255, 64},
{104, 64, 0, 64},
{105, 64, 36, 64},
{106, 64, 73, 64},
{107, 64, 109, 64},
{108, 64, 146, 64},
{109, 64, 182, 64},
{110, 64, 219, 64},
{111, 64, 255, 64},
{112, 128, 0, 64},
{113, 128, 36, 64},
{114, 128, 73, 64},
{115, 128, 109, 64},
{116, 128, 146, 64},
{117, 128, 182, 64},
{118, 128, 219, 64},
{119, 128, 255, 64},
{120, 191, 0, 64},
{121, 191, 36, 64},
{122, 191, 73, 64},
{123, 191, 109, 64},
{124, 191, 146, 64},
{125, 191, 182, 64},
{126, 191, 219, 64},
{127, 191, 255, 64},
{128, 255, 0, 64},
{129, 255, 36, 64},
{130, 255, 73, 64},
{131, 255, 109, 64},
{132, 255, 146, 64},
{133, 255, 182, 64},
{134, 255, 219, 64},
{135, 255, 255, 64},
{136, 0, 0, 128},
{137, 0, 36, 128},
{138, 0, 73, 128},
{139, 0, 109, 128},
{140, 0, 146, 128},
{141, 0, 182, 128},
{142, 0, 219, 128},
{143, 0, 255, 128},
{144, 64, 0, 128},
{145, 64, 36, 128},
{146, 64, 73, 128},
{147, 64, 109, 128},
{148, 64, 146, 128},
{149, 64, 182, 128},
{150, 64, 219, 128},
{151, 64, 255, 128},
{152, 128, 0, 128},
{153, 128, 36, 128},
{154, 128, 73, 128},
{155, 128, 109, 128},
{156, 128, 146, 128},
{157, 128, 182, 128},
{158, 128, 219, 128},
{159, 128, 255, 128},
{160, 191, 0, 128},
{161, 191, 36, 128},
{162, 191, 73, 128},
{163, 191, 109, 128},
{164, 191, 146, 128},
{165, 191, 182, 128},
{166, 191, 219, 128},
{167, 191, 255, 128},
{168, 255, 0, 128},
{169, 255, 36, 128},
{170, 255, 73, 128},
{171, 255, 109, 128},
{172, 255, 146, 128},
{173, 255, 182, 128},
{174, 255, 219, 128},
{175, 255, 255, 128},
{176, 0, 0, 191},
{177, 0, 36, 191},
{178, 0, 73, 191},
{179, 0, 109, 191},
{180, 0, 146, 191},
{181, 0, 182, 191},
{182, 0, 219, 191},
{183, 0, 255, 191},
{184, 64, 0, 191},
{185, 64, 36, 191},
{186, 64, 73, 191},
{187, 64, 109, 191},
{188, 64, 146, 191},
{189, 64, 182, 191},
{190, 64, 219, 191},
{191, 64, 255, 191},
{192, 128, 0, 191},
{193, 128, 36, 191},
{194, 128, 73, 191},
{195, 128, 109, 191},
{196, 128, 146, 191},
{197, 128, 182, 191},
{198, 128, 219, 191},
{199, 128, 255, 191},
{200, 191, 0, 191},
{201, 191, 36, 191},
{202, 191, 73, 191},
{203, 191, 109, 191},
{204, 191, 146, 191},
{205, 191, 182, 191},
{206, 191, 219, 191},
{207, 191, 255, 191},
{208, 255, 0, 191},
{209, 255, 36, 191},
{210, 255, 73, 191},
{211, 255, 109, 191},
{212, 255, 146, 191},
{213, 255, 182, 191},
{214, 255, 219, 191},
{215, 255, 255, 191},
{216, 0, 0, 255},
{217, 0, 36, 255},
{218, 0, 73, 255},
{219, 0, 109, 255},
{220, 0, 146, 255},
{221, 0, 182, 255},
{222, 0, 219, 255},
{223, 0, 255, 255},
{224, 64, 0, 255},
{225, 64, 36, 255},
{226, 64, 73, 255},
{227, 64, 109, 255},
{228, 64, 146, 255},
{229, 64, 182, 255},
{230, 64, 219, 255},
{231, 64, 255, 255},
{232, 128, 0, 255},
{233, 128, 36, 255},
{234, 128, 73, 255},
{235, 128, 109, 255},
{236, 128, 146, 255},
{237, 128, 182, 255},
{238, 128, 219, 255},
{239, 128, 255, 255},
{240, 191, 0, 255},
{241, 191, 36, 255},
{242, 191, 73, 255},
{243, 191, 109, 255},
{244, 191, 146, 255},
{245, 191, 182, 255},
{246, 191, 219, 255},
{247, 191, 255, 255},
{248, 255, 0, 255},
{249, 255, 36, 255},
{250, 255, 73, 255},
{251, 255, 109, 255},
{252, 255, 146, 255},
{253, 255, 182, 255},
{254, 255, 219, 255},
{255, 255, 255, 255},
{254, 220, 240, 240},
};
@@ -1,56 +0,0 @@
#pragma once
static const unsigned char SHAKE_THEME[][4] = {
{0, 180, 180, 180},
{1, 162, 48, 48},
{2, 90, 180, 0},
{3, 255, 255, 0},
{4, 88, 120, 152},
{5, 180, 0, 180},
{6, 0, 180, 180},
{7, 80, 80, 80},
{8, 100, 100, 100},
{9, 119, 71, 71},
{10, 80, 130, 80},
{11, 150, 150, 90},
{12, 110, 123, 145},
{13, 150, 90, 150},
{14, 90, 150, 150},
{15, 200, 50, 50},
{32, 3, 3, 3},
{33, 5, 5, 5},
{34, 8, 8, 8},
{35, 10, 10, 10},
{36, 14, 14, 14},
{37, 16, 16, 16},
{38, 21, 21, 21},
{39, 26, 26, 26},
{40, 32, 32, 32},
{41, 37, 37, 37},
{42, 42, 42, 42},
{43, 48, 48, 48},
{44, 53, 53, 53},
{45, 58, 58, 58},
{46, 64, 64, 64},
{47, 69, 69, 69},
{48, 74, 74, 74},
{49, 80, 80, 80},
{50, 85, 85, 85},
{51, 90, 90, 90},
{52, 96, 96, 96},
{53, 101, 101, 101},
{54, 106, 106, 106},
{55, 110, 110, 110},
{56, 150, 150, 150},
{59, 80, 150, 80},
{63, 0, 180, 0},
{71, 0, 180, 0},
{88, 180, 0, 0},
{90, 180, 80, 40},
{91, 180, 120, 0},
{94, 150, 110, 20},
{95, 120, 120, 36},
{124, 107, 92, 57},
{254, 60, 70, 70},
{255, 50, 50, 50},
};
-245
View File
@@ -1,245 +0,0 @@
#pragma once
static const unsigned char TAN_THEME[][4] = {
{0, 0, 0, 0},
{1, 255, 0, 0},
{2, 0, 255, 0},
{3, 255, 255, 0},
{4, 0, 0, 255},
{5, 255, 0, 255},
{6, 0, 255, 255},
{7, 255, 255, 255},
{8, 85, 85, 85},
{9, 198, 113, 113},
{10, 113, 198, 113},
{11, 142, 142, 56},
{12, 113, 113, 198},
{13, 200, 150, 200},
{14, 56, 142, 142},
{15, 0, 0, 128},
{32, 0, 0, 0},
{33, 114, 100, 46},
{34, 120, 107, 56},
{35, 127, 114, 65},
{36, 133, 121, 75},
{37, 140, 128, 84},
{38, 146, 135, 94},
{39, 152, 142, 103},
{40, 159, 149, 113},
{41, 165, 156, 122},
{42, 172, 163, 132},
{43, 178, 170, 141},
{44, 185, 178, 151},
{45, 191, 185, 160},
{46, 197, 192, 170},
{47, 204, 199, 179},
{48, 210, 206, 189},
{49, 217, 213, 198},
{50, 223, 220, 208},
{51, 229, 227, 217},
{52, 236, 234, 227},
{53, 242, 241, 236},
{54, 249, 248, 246},
{55, 255, 255, 255},
{56, 0, 0, 0},
{57, 0, 36, 0},
{58, 0, 73, 0},
{59, 0, 109, 0},
{60, 0, 146, 0},
{61, 0, 182, 0},
{62, 0, 219, 0},
{63, 0, 255, 0},
{64, 64, 0, 0},
{65, 64, 36, 0},
{66, 64, 73, 0},
{67, 64, 109, 0},
{68, 64, 146, 0},
{69, 64, 182, 0},
{70, 64, 219, 0},
{71, 64, 255, 0},
{72, 128, 0, 0},
{73, 128, 36, 0},
{74, 128, 73, 0},
{75, 128, 109, 0},
{76, 128, 146, 0},
{77, 128, 182, 0},
{78, 128, 219, 0},
{79, 128, 255, 0},
{80, 191, 0, 0},
{81, 191, 36, 0},
{82, 191, 73, 0},
{83, 191, 109, 0},
{84, 191, 146, 0},
{85, 191, 182, 0},
{86, 191, 219, 0},
{87, 191, 255, 0},
{88, 255, 0, 0},
{89, 255, 36, 0},
{90, 255, 73, 0},
{91, 255, 109, 0},
{92, 255, 146, 0},
{93, 255, 182, 0},
{94, 255, 219, 0},
{95, 255, 255, 0},
{96, 0, 0, 64},
{97, 0, 36, 64},
{98, 0, 73, 64},
{99, 0, 109, 64},
{100, 0, 146, 64},
{101, 0, 182, 64},
{102, 0, 219, 64},
{103, 0, 255, 64},
{104, 64, 0, 64},
{105, 64, 36, 64},
{106, 64, 73, 64},
{107, 64, 109, 64},
{108, 64, 146, 64},
{109, 64, 182, 64},
{110, 64, 219, 64},
{111, 64, 255, 64},
{112, 128, 0, 64},
{113, 128, 36, 64},
{114, 128, 73, 64},
{115, 128, 109, 64},
{116, 128, 146, 64},
{117, 128, 182, 64},
{118, 128, 219, 64},
{119, 128, 255, 64},
{120, 191, 0, 64},
{121, 191, 36, 64},
{122, 191, 73, 64},
{123, 191, 109, 64},
{124, 191, 146, 64},
{125, 191, 182, 64},
{126, 191, 219, 64},
{127, 191, 255, 64},
{128, 255, 0, 64},
{129, 255, 36, 64},
{130, 255, 73, 64},
{131, 255, 109, 64},
{132, 255, 146, 64},
{133, 255, 182, 64},
{134, 255, 219, 64},
{135, 255, 255, 64},
{136, 0, 0, 128},
{137, 0, 36, 128},
{138, 0, 73, 128},
{139, 0, 109, 128},
{140, 0, 146, 128},
{141, 0, 182, 128},
{142, 0, 219, 128},
{143, 0, 255, 128},
{144, 64, 0, 128},
{145, 64, 36, 128},
{146, 64, 73, 128},
{147, 64, 109, 128},
{148, 64, 146, 128},
{149, 64, 182, 128},
{150, 64, 219, 128},
{151, 64, 255, 128},
{152, 128, 0, 128},
{153, 128, 36, 128},
{154, 128, 73, 128},
{155, 128, 109, 128},
{156, 128, 146, 128},
{157, 128, 182, 128},
{158, 128, 219, 128},
{159, 128, 255, 128},
{160, 191, 0, 128},
{161, 191, 36, 128},
{162, 191, 73, 128},
{163, 191, 109, 128},
{164, 191, 146, 128},
{165, 191, 182, 128},
{166, 191, 219, 128},
{167, 191, 255, 128},
{168, 255, 0, 128},
{169, 255, 36, 128},
{170, 255, 73, 128},
{171, 255, 109, 128},
{172, 255, 146, 128},
{173, 255, 182, 128},
{174, 255, 219, 128},
{175, 255, 255, 128},
{176, 0, 0, 191},
{177, 0, 36, 191},
{178, 0, 73, 191},
{179, 0, 109, 191},
{180, 0, 146, 191},
{181, 0, 182, 191},
{182, 0, 219, 191},
{183, 0, 255, 191},
{184, 64, 0, 191},
{185, 64, 36, 191},
{186, 64, 73, 191},
{187, 64, 109, 191},
{188, 64, 146, 191},
{189, 64, 182, 191},
{190, 64, 219, 191},
{191, 64, 255, 191},
{192, 128, 0, 191},
{193, 128, 36, 191},
{194, 128, 73, 191},
{195, 128, 109, 191},
{196, 128, 146, 191},
{197, 128, 182, 191},
{198, 128, 219, 191},
{199, 128, 255, 191},
{200, 191, 0, 191},
{201, 191, 36, 191},
{202, 191, 73, 191},
{203, 191, 109, 191},
{204, 191, 146, 191},
{205, 191, 182, 191},
{206, 191, 219, 191},
{207, 191, 255, 191},
{208, 255, 0, 191},
{209, 255, 36, 191},
{210, 255, 73, 191},
{211, 255, 109, 191},
{212, 255, 146, 191},
{213, 255, 182, 191},
{214, 255, 219, 191},
{215, 255, 255, 191},
{216, 0, 0, 255},
{217, 0, 36, 255},
{218, 0, 73, 255},
{219, 0, 109, 255},
{220, 0, 146, 255},
{221, 0, 182, 255},
{222, 0, 219, 255},
{223, 0, 255, 255},
{224, 64, 0, 255},
{225, 64, 36, 255},
{226, 64, 73, 255},
{227, 64, 109, 255},
{228, 64, 146, 255},
{229, 64, 182, 255},
{230, 64, 219, 255},
{231, 64, 255, 255},
{232, 128, 0, 255},
{233, 128, 36, 255},
{234, 128, 73, 255},
{235, 128, 109, 255},
{236, 128, 146, 255},
{237, 128, 182, 255},
{238, 128, 219, 255},
{239, 128, 255, 255},
{240, 191, 0, 255},
{241, 191, 36, 255},
{242, 191, 73, 255},
{243, 191, 109, 255},
{244, 191, 146, 255},
{245, 191, 182, 255},
{246, 191, 219, 255},
{247, 191, 255, 255},
{248, 255, 0, 255},
{249, 255, 36, 255},
{250, 255, 73, 255},
{251, 255, 109, 255},
{252, 255, 146, 255},
{253, 255, 182, 255},
{254, 255, 219, 255},
{255, 255, 255, 255},
{254, 220, 240, 240},
};
@@ -1,51 +0,0 @@
#pragma once
#include "impl.hpp"
const unsigned int backgroundColor2 = detail::from_rgb(0, 0, 0, 255);
const unsigned int windowBackgroundColor = detail::from_rgb(37, 37, 37, 255);
const unsigned int labelColor = detail::from_rgb(255, 254, 254, 216);
const unsigned int controlBackgroundColor = detail::from_rgb(22, 22, 22, 255);
const unsigned int secondaryLabelColor = detail::from_rgb(255, 254, 254, 140);
const unsigned int tertiaryLabelColor = detail::from_rgb(255, 254, 254, 63);
const unsigned int quaternaryLabelColor = detail::from_rgb(255, 254, 254, 25);
const unsigned int textColor = detail::from_rgb(255, 254, 254, 255);
const unsigned int placeholderTextColor = detail::from_rgb(255, 254, 254, 63);
const unsigned int selectedTextColor = detail::from_rgb(255, 255, 255, 255);
const unsigned int textBackgroundColor = detail::from_rgb(22, 22, 22, 255);
const unsigned int selectedTextBackgroundColor = detail::from_rgb(48, 79, 120, 255);
const unsigned int keyboardFocusIndicatorColor = detail::from_rgb(27, 149, 254, 76);
const unsigned int unemphasizedSelectedTextColor = detail::from_rgb(255, 255, 255, 255);
const unsigned int unemphasizedSelectedTextBackgroundColor = detail::from_rgb(54, 54, 54, 255);
const unsigned int linkColor = detail::from_rgb(52, 134, 254, 255);
const unsigned int separatorColor = detail::from_rgb(255, 254, 254, 25);
const unsigned int selectedContentBackgroundColor = detail::from_rgb(5, 63, 197, 255);
const unsigned int unemphasizedSelectedContentBackgroundColor = detail::from_rgb(54, 54, 54, 255);
const unsigned int selectedMenuItemTextColor = detail::from_rgb(255, 254, 254, 255);
const unsigned int gridColor = detail::from_rgb(20, 20, 20, 255);
const unsigned int headerTextColor = detail::from_rgb(255, 254, 254, 255);
const unsigned int controlAccentColor = detail::from_rgb(10, 95, 254, 255);
const unsigned int controlColor = detail::from_rgb(255, 254, 254, 63);
const unsigned int controlTextColor = detail::from_rgb(255, 254, 254, 216);
const unsigned int disabledControlTextColor = detail::from_rgb(255, 254, 254, 63);
const unsigned int selectedControlColor = detail::from_rgb(48, 79, 120, 255);
const unsigned int selectedControlTextColor = detail::from_rgb(255, 254, 254, 216);
const unsigned int alternateSelectedControlTextColor = detail::from_rgb(255, 254, 254, 255);
const unsigned int scrubberTexturedBackgroundColor = detail::from_rgb(255, 254, 254, 255);
const unsigned int windowFrameTextColor = detail::from_rgb(255, 254, 254, 216);
const unsigned int underPageBackgroundColor = detail::from_rgb(29, 29, 29, 255);
const unsigned int findHighlightColor = detail::from_rgb(255, 255, 10, 255);
const unsigned int highlightColor = detail::from_rgb(164, 164, 164, 255);
const unsigned int shadowColor = detail::from_rgb(0, 0, 0, 255);
const unsigned int systemBrownColor = detail::from_rgb(155, 123, 85, 255);
const unsigned int systemGrayColor = detail::from_rgb(133, 133, 139, 255);
const unsigned int systemGreenColor = detail::from_rgb(48, 211, 58, 255);
const unsigned int systemIndigoColor = detail::from_rgb(74, 64, 223, 255);
const unsigned int systemOrangeColor = detail::from_rgb(252, 141, 13, 255);
const unsigned int systemPinkColor = detail::from_rgb(251, 25, 76, 255);
const unsigned int systemPurpleColor = detail::from_rgb(175, 56, 238, 255);
const unsigned int systemRedColor = detail::from_rgb(251, 43, 44, 255);
const unsigned int systemTealColor = detail::from_rgb(76, 187, 242, 255);
const unsigned int systemYellowColor = detail::from_rgb(254, 207, 14, 255);
const unsigned int systemBlueColor = detail::from_rgb(16, 106, 254, 255);
const unsigned int systemCyanColor = detail::from_rgb(90, 200, 245, 255);
-145
View File
@@ -1,145 +0,0 @@
#pragma once
#include "impl.hpp"
const unsigned int IndianRed = detail::from_rgb(205, 92, 92, 255);
const unsigned int LightCoral = detail::from_rgb(240, 128, 128, 255);
const unsigned int Salmon = detail::from_rgb(250, 128, 114, 255);
const unsigned int DarkSalmon = detail::from_rgb(233, 150, 122, 255);
const unsigned int LightSalmon = detail::from_rgb(255, 160, 122, 255);
const unsigned int Crimson = detail::from_rgb(220, 20, 60, 255);
const unsigned int Red = detail::from_rgb(255, 0, 0, 255);
const unsigned int FireBrick = detail::from_rgb(178, 34, 34, 255);
const unsigned int DarkRed = detail::from_rgb(139, 0, 0, 255);
const unsigned int Pink = detail::from_rgb(255, 192, 203, 255);
const unsigned int LightPink = detail::from_rgb(255, 182, 193, 255);
const unsigned int HotPink = detail::from_rgb(255, 105, 180, 255);
const unsigned int DeepPink = detail::from_rgb(255, 20, 147, 255);
const unsigned int MediumVioletRed = detail::from_rgb(199, 21, 133, 255);
const unsigned int PaleVioletRed = detail::from_rgb(219, 112, 147, 255);
const unsigned int Coral = detail::from_rgb(255, 127, 80, 255);
const unsigned int Tomato = detail::from_rgb(255, 99, 71, 255);
const unsigned int OrangeRed = detail::from_rgb(255, 69, 0, 255);
const unsigned int DarkOrange = detail::from_rgb(255, 140, 0, 255);
const unsigned int Orange = detail::from_rgb(255, 165, 0, 255);
const unsigned int Gold = detail::from_rgb(255, 215, 0, 255);
const unsigned int Yellow = detail::from_rgb(255, 255, 0, 255);
const unsigned int LightYellow = detail::from_rgb(255, 255, 224, 255);
const unsigned int LemonChiffon = detail::from_rgb(255, 250, 205, 255);
const unsigned int LightGoldenrodYellow = detail::from_rgb(250, 250, 210, 255);
const unsigned int PapayaWhip = detail::from_rgb(255, 239, 213, 255);
const unsigned int Moccasin = detail::from_rgb(255, 228, 181, 255);
const unsigned int PeachPuff = detail::from_rgb(255, 218, 185, 255);
const unsigned int PaleGoldenrod = detail::from_rgb(238, 232, 170, 255);
const unsigned int Khaki = detail::from_rgb(240, 230, 140, 255);
const unsigned int DarkKhaki = detail::from_rgb(189, 183, 107, 255);
const unsigned int Lavender = detail::from_rgb(230, 230, 250, 255);
const unsigned int Thistle = detail::from_rgb(216, 191, 216, 255);
const unsigned int Plum = detail::from_rgb(221, 160, 221, 255);
const unsigned int Violet = detail::from_rgb(238, 130, 238, 255);
const unsigned int Orchid = detail::from_rgb(218, 112, 214, 255);
const unsigned int Fuchsia = detail::from_rgb(255, 0, 255, 255);
const unsigned int Magenta = detail::from_rgb(255, 0, 255, 255);
const unsigned int MediumOrchid = detail::from_rgb(186, 85, 211, 255);
const unsigned int MediumPurple = detail::from_rgb(147, 112, 219, 255);
const unsigned int RebeccaPurple = detail::from_rgb(102, 51, 153, 255);
const unsigned int BlueViolet = detail::from_rgb(138, 43, 226, 255);
const unsigned int DarkViolet = detail::from_rgb(148, 0, 211, 255);
const unsigned int DarkOrchid = detail::from_rgb(153, 50, 204, 255);
const unsigned int DarkMagenta = detail::from_rgb(139, 0, 139, 255);
const unsigned int Purple = detail::from_rgb(128, 0, 128, 255);
const unsigned int Indigo = detail::from_rgb(75, 0, 130, 255);
const unsigned int SlateBlue = detail::from_rgb(106, 90, 205, 255);
const unsigned int DarkSlateBlue = detail::from_rgb(72, 61, 139, 255);
const unsigned int MediumSlateBlue = detail::from_rgb(123, 104, 238, 255);
const unsigned int GreenYellow = detail::from_rgb(173, 255, 47, 255);
const unsigned int Chartreuse = detail::from_rgb(127, 255, 0, 255);
const unsigned int LawnGreen = detail::from_rgb(124, 252, 0, 255);
const unsigned int Lime = detail::from_rgb(0, 255, 0, 255);
const unsigned int LimeGreen = detail::from_rgb(50, 205, 50, 255);
const unsigned int PaleGreen = detail::from_rgb(152, 251, 152, 255);
const unsigned int LightGreen = detail::from_rgb(144, 238, 144, 255);
const unsigned int MediumSpringGreen = detail::from_rgb(0, 250, 154, 255);
const unsigned int SpringGreen = detail::from_rgb(0, 255, 127, 255);
const unsigned int MediumSeaGreen = detail::from_rgb(60, 179, 113, 255);
const unsigned int SeaGreen = detail::from_rgb(46, 139, 87, 255);
const unsigned int ForestGreen = detail::from_rgb(34, 139, 34, 255);
const unsigned int Green = detail::from_rgb(0, 128, 0, 255);
const unsigned int DarkGreen = detail::from_rgb(0, 100, 0, 255);
const unsigned int YellowGreen = detail::from_rgb(154, 205, 50, 255);
const unsigned int OliveDrab = detail::from_rgb(107, 142, 35, 255);
const unsigned int Olive = detail::from_rgb(128, 128, 0, 255);
const unsigned int DarkOliveGreen = detail::from_rgb(85, 107, 47, 255);
const unsigned int MediumAquamarine = detail::from_rgb(102, 205, 170, 255);
const unsigned int DarkSeaGreen = detail::from_rgb(143, 188, 139, 255);
const unsigned int LightSeaGreen = detail::from_rgb(32, 178, 170, 255);
const unsigned int DarkCyan = detail::from_rgb(0, 139, 139, 255);
const unsigned int Teal = detail::from_rgb(0, 128, 128, 255);
const unsigned int Aqua = detail::from_rgb(0, 255, 255, 255);
const unsigned int Cyan = detail::from_rgb(0, 255, 255, 255);
const unsigned int LightCyan = detail::from_rgb(224, 255, 255, 255);
const unsigned int PaleTurquoise = detail::from_rgb(175, 238, 238, 255);
const unsigned int Aquamarine = detail::from_rgb(127, 255, 212, 255);
const unsigned int Turquoise = detail::from_rgb(64, 224, 208, 255);
const unsigned int MediumTurquoise = detail::from_rgb(72, 209, 204, 255);
const unsigned int DarkTurquoise = detail::from_rgb(0, 206, 209, 255);
const unsigned int CadetBlue = detail::from_rgb(95, 158, 160, 255);
const unsigned int SteelBlue = detail::from_rgb(70, 130, 180, 255);
const unsigned int LightSteelBlue = detail::from_rgb(176, 196, 222, 255);
const unsigned int PowderBlue = detail::from_rgb(176, 224, 230, 255);
const unsigned int LightBlue = detail::from_rgb(173, 216, 230, 255);
const unsigned int SkyBlue = detail::from_rgb(135, 206, 235, 255);
const unsigned int LightSkyBlue = detail::from_rgb(135, 206, 250, 255);
const unsigned int DeepSkyBlue = detail::from_rgb(0, 191, 255, 255);
const unsigned int DodgerBlue = detail::from_rgb(30, 144, 255, 255);
const unsigned int CornflowerBlue = detail::from_rgb(100, 149, 237, 255);
const unsigned int RoyalBlue = detail::from_rgb(65, 105, 225, 255);
const unsigned int Blue = detail::from_rgb(0, 0, 255, 255);
const unsigned int MediumBlue = detail::from_rgb(0, 0, 205, 255);
const unsigned int DarkBlue = detail::from_rgb(0, 0, 139, 255);
const unsigned int Navy = detail::from_rgb(0, 0, 128, 255);
const unsigned int MidnightBlue = detail::from_rgb(25, 25, 112, 255);
const unsigned int Cornsilk = detail::from_rgb(255, 248, 220, 255);
const unsigned int BlanchedAlmond = detail::from_rgb(255, 235, 205, 255);
const unsigned int Bisque = detail::from_rgb(255, 228, 196, 255);
const unsigned int NavajoWhite = detail::from_rgb(255, 222, 173, 255);
const unsigned int Wheat = detail::from_rgb(245, 222, 179, 255);
const unsigned int BurlyWood = detail::from_rgb(222, 184, 135, 255);
const unsigned int Tan = detail::from_rgb(210, 180, 140, 255);
const unsigned int RosyBrown = detail::from_rgb(188, 143, 143, 255);
const unsigned int SandyBrown = detail::from_rgb(244, 164, 96, 255);
const unsigned int Goldenrod = detail::from_rgb(218, 165, 32, 255);
const unsigned int DarkGoldenrod = detail::from_rgb(184, 134, 11, 255);
const unsigned int Peru = detail::from_rgb(205, 133, 63, 255);
const unsigned int Chocolate = detail::from_rgb(210, 105, 30, 255);
const unsigned int SaddleBrown = detail::from_rgb(139, 69, 19, 255);
const unsigned int Sienna = detail::from_rgb(160, 82, 45, 255);
const unsigned int Brown = detail::from_rgb(165, 42, 42, 255);
const unsigned int Maroon = detail::from_rgb(128, 0, 0, 255);
const unsigned int White = detail::from_rgb(255, 255, 255, 255);
const unsigned int Snow = detail::from_rgb(255, 250, 250, 255);
const unsigned int HoneyDew = detail::from_rgb(240, 255, 240, 255);
const unsigned int MintCream = detail::from_rgb(245, 255, 250, 255);
const unsigned int Azure = detail::from_rgb(240, 255, 255, 255);
const unsigned int AliceBlue = detail::from_rgb(240, 248, 255, 255);
const unsigned int GhostWhite = detail::from_rgb(248, 248, 255, 255);
const unsigned int WhiteSmoke = detail::from_rgb(245, 245, 245, 255);
const unsigned int SeaShell = detail::from_rgb(255, 245, 238, 255);
const unsigned int Beige = detail::from_rgb(245, 245, 220, 255);
const unsigned int OldLace = detail::from_rgb(253, 245, 230, 255);
const unsigned int FloralWhite = detail::from_rgb(255, 250, 240, 255);
const unsigned int Ivory = detail::from_rgb(255, 255, 240, 255);
const unsigned int AntiqueWhite = detail::from_rgb(250, 235, 215, 255);
const unsigned int Linen = detail::from_rgb(250, 240, 230, 255);
const unsigned int LavenderBlush = detail::from_rgb(255, 240, 245, 255);
const unsigned int MistyRose = detail::from_rgb(255, 228, 225, 255);
const unsigned int Gainsboro = detail::from_rgb(220, 220, 220, 255);
const unsigned int LightGray = detail::from_rgb(211, 211, 211, 255);
const unsigned int Silver = detail::from_rgb(192, 192, 192, 255);
const unsigned int DarkGray = detail::from_rgb(169, 169, 169, 255);
const unsigned int Gray = detail::from_rgb(128, 128, 128, 255);
const unsigned int DimGray = detail::from_rgb(105, 105, 105, 255);
const unsigned int LightSlateGray = detail::from_rgb(119, 136, 153, 255);
const unsigned int SlateGray = detail::from_rgb(112, 128, 144, 255);
const unsigned int DarkSlateGray = detail::from_rgb(47, 79, 79, 255);
const unsigned int Black = detail::from_rgb(0, 0, 0, 255);
-8
View File
@@ -1,8 +0,0 @@
#pragma once
namespace detail {
constexpr unsigned int from_rgb(unsigned char r, unsigned char g, unsigned char b, unsigned char) {
auto a = 0;
return ((r & 0xff) << 24) + ((g & 0xff) << 16) + ((b & 0xff) << 8) + (a & 0xff);
}
} // namespace detail
@@ -1,52 +0,0 @@
#pragma once
#include "impl.hpp"
const unsigned int backgroundColor2 = detail::from_rgb(255, 255, 255, 255);
const unsigned int windowBackgroundColor = detail::from_rgb(231, 231, 231, 255);
const unsigned int labelColor = detail::from_rgb(0, 0, 0, 216);
const unsigned int controlBackgroundColor = detail::from_rgb(255, 254, 254, 255);
const unsigned int secondaryLabelColor = detail::from_rgb(0, 0, 0, 127);
const unsigned int tertiaryLabelColor = detail::from_rgb(0, 0, 0, 66);
const unsigned int quaternaryLabelColor = detail::from_rgb(0, 0, 0, 25);
const unsigned int textColor = detail::from_rgb(0, 0, 0, 255);
const unsigned int placeholderTextColor = detail::from_rgb(0, 0, 0, 63);
const unsigned int selectedTextColor = detail::from_rgb(0, 0, 0, 255);
const unsigned int textBackgroundColor = detail::from_rgb(255, 254, 254, 255);
const unsigned int selectedTextBackgroundColor = detail::from_rgb(164, 204, 254, 255);
const unsigned int keyboardFocusIndicatorColor = detail::from_rgb(7, 75, 240, 63);
const unsigned int unemphasizedSelectedTextColor = detail::from_rgb(0, 0, 0, 255);
const unsigned int unemphasizedSelectedTextBackgroundColor = detail::from_rgb(211, 211, 211, 255);
const unsigned int linkColor = detail::from_rgb(8, 79, 209, 255);
const unsigned int separatorColor = detail::from_rgb(0, 0, 0, 25);
const unsigned int selectedContentBackgroundColor = detail::from_rgb(7, 73, 217, 255);
const unsigned int unemphasizedSelectedContentBackgroundColor =
detail::from_rgb(211, 211, 211, 255);
const unsigned int selectedMenuItemTextColor = detail::from_rgb(255, 254, 254, 255);
const unsigned int gridColor = detail::from_rgb(223, 223, 223, 255);
const unsigned int headerTextColor = detail::from_rgb(0, 0, 0, 216);
const unsigned int controlAccentColor = detail::from_rgb(10, 95, 254, 255);
const unsigned int controlColor = detail::from_rgb(255, 254, 254, 255);
const unsigned int controlTextColor = detail::from_rgb(0, 0, 0, 216);
const unsigned int disabledControlTextColor = detail::from_rgb(0, 0, 0, 63);
const unsigned int selectedControlColor = detail::from_rgb(164, 204, 254, 255);
const unsigned int selectedControlTextColor = detail::from_rgb(0, 0, 0, 216);
const unsigned int alternateSelectedControlTextColor = detail::from_rgb(255, 254, 254, 255);
const unsigned int scrubberTexturedBackgroundColor = detail::from_rgb(255, 254, 254, 255);
const unsigned int windowFrameTextColor = detail::from_rgb(0, 0, 0, 216);
const unsigned int underPageBackgroundColor = detail::from_rgb(131, 131, 131, 229);
const unsigned int findHighlightColor = detail::from_rgb(255, 255, 10, 255);
const unsigned int highlightColor = detail::from_rgb(255, 254, 254, 255);
const unsigned int shadowColor = detail::from_rgb(0, 0, 0, 255);
const unsigned int systemBrownColor = detail::from_rgb(144, 113, 75, 255);
const unsigned int systemGrayColor = detail::from_rgb(123, 123, 128, 255);
const unsigned int systemGreenColor = detail::from_rgb(40, 199, 50, 255);
const unsigned int systemIndigoColor = detail::from_rgb(69, 59, 204, 255);
const unsigned int systemOrangeColor = detail::from_rgb(252, 129, 8, 255);
const unsigned int systemPinkColor = detail::from_rgb(251, 12, 67, 255);
const unsigned int systemPurpleColor = detail::from_rgb(157, 51, 213, 255);
const unsigned int systemRedColor = detail::from_rgb(251, 32, 37, 255);
const unsigned int systemTealColor = detail::from_rgb(71, 175, 235, 255);
const unsigned int systemYellowColor = detail::from_rgb(253, 194, 9, 255);
const unsigned int systemBlueColor = detail::from_rgb(10, 95, 254, 255);
const unsigned int systemCyanColor = detail::from_rgb(85, 190, 240, 255);
@@ -1,4 +0,0 @@
#pragma once
#include "flat.hpp"
#include "metro.hpp"
@@ -1,110 +0,0 @@
#include "impl.hpp"
#include <FL/Enumerations.H>
// C++17 inline 变量:跨 TU 共享同一份(原 static 每个 TU 独立副本,
// 桥接层 Fl_Theme_set_border_radius 无法修改)
inline int FLAT_BORDER_RADIUS = 5;
static const char *FL_FLAT_RECT_UP =
"<svg viewBox='0 0 %d %d'>"
"<defs>"
"<linearGradient id='grad1' x1='0%%' y1='0%%' x2='0%%' y2='100%%'>"
"<stop offset='0%%' style='stop-color:rgb(%d,%d,%d);stop-opacity:1' />"
"<stop offset='100%%' style='stop-color:rgb(%d,%d,%d);stop-opacity:1' />"
"</linearGradient>"
"</defs>"
"<rect width='98%%' height='98%%' rx='%d' fill='url(#grad1)' />"
"</svg>";
static const char *FL_FLAT_RECT_DOWN =
"<svg viewBox='0 0 %d %d'>"
"<defs>"
"<linearGradient id='grad1' x1='0%%' y1='0%%' x2='0%%' y2='100%%'>"
"<stop offset='100%%' style='stop-color:rgb(%d,%d,%d);stop-opacity:1' />"
"<stop offset='0%%' style='stop-color:rgb(%d,%d,%d);stop-opacity:1' />"
"</linearGradient>"
"</defs>"
"<rect width='98%%' height='98%%' rx='%d' fill='url(#grad1)' />"
"</svg>";
static const char *FL_FLAT_RECT_FRAME = "<svg viewBox='0 0 %d %d'>"
"<rect width='98%%' height='98%%' rx='%d' "
"fill='none' stroke-width='2' stroke='rgb(%d,%d,%d)'/>"
"</svg>";
inline void flat_box(int x, int y, int w, int h, Fl_Color col) {
auto rgb = detail::get_rgb(fl_color_average(FL_WHITE, col, 0.2));
auto [r, g, b] = rgb;
auto darker = fl_darker(col);
auto [r1, g1, b1] = detail::get_rgb(darker);
auto svg = detail::gen_svg("<svg viewBox='0 0 %d %d'>"
"<defs>"
"<linearGradient id='grad1' x1='0%%' y1='0%%' x2='0%%' y2='100%%'>"
"<stop offset='0%%' style='stop-color:rgb(%d,%d,%d);stop-opacity:1' />"
"<stop offset='100%%' style='stop-color:rgb(%d,%d,%d);stop-opacity:1' />"
"</linearGradient>"
"</defs>"
"<rect width='100%%' height='100%%' rx='0' fill='url(#grad1)' />"
"</svg>", w, h, r, g, b, r1, g1, b1);
detail::draw_image(x, y, w, h, svg);
free(svg);
}
inline void upbox(int x, int y, int w, int h, Fl_Color col) {
auto rgb = detail::get_rgb(fl_color_average(FL_WHITE, col, 0.2));
auto [r, g, b] = rgb;
auto darker = fl_darker(col);
auto [r1, g1, b1] = detail::get_rgb(darker);
auto svg =
detail::gen_svg(FL_FLAT_RECT_UP, w, h, r, g, b, r1, g1, b1, FLAT_BORDER_RADIUS);
detail::draw_image(x, y, w, h, svg);
free(svg);
}
inline void downbox(int x, int y, int w, int h, Fl_Color col) {
auto rgb = detail::get_rgb(fl_color_average(FL_WHITE, col, 0.2));
auto [r, g, b] = rgb;
auto darker = fl_darker(col);
auto [r1, g1, b1] = detail::get_rgb(darker);
auto svg =
detail::gen_svg(FL_FLAT_RECT_DOWN, w, h, r, g, b, r1, g1, b1, FLAT_BORDER_RADIUS);
detail::draw_image(x, y, w, h, svg);
free(svg);
}
inline void round_downbox(int x, int y, int w, int h, Fl_Color col) {
auto rgb = detail::get_rgb(fl_color_average(FL_WHITE, col, 0.2));
auto [r, g, b] = rgb;
auto svg =
detail::gen_svg("<svg viewBox='0 0 %d %d'>"
"<circle cx='50%%' cy='48%%' r='48%%' fill='rgb(%d,%d,%d)'/>"
"</svg>", w, h, r, g, b);
detail::draw_image(x, y, w, h, svg);
free(svg);
}
inline void roundedframe(int x, int y, int w, int h, Fl_Color col) {
auto rgb = detail::get_rgb(fl_color_average(FL_WHITE, col, 0.2));
auto [r, g, b] = rgb;
auto svg = detail::gen_svg(FL_FLAT_RECT_FRAME, w, h, FLAT_BORDER_RADIUS, r, g, b);
detail::draw_image(x, y, w, h, svg);
free(svg);
}
inline void init_flat_theme() {
Fl::reload_scheme();
Fl::set_boxtype(FL_FLAT_BOX, flat_box, 2, 2, 4, 4);
Fl::set_boxtype(FL_RFLAT_BOX, upbox, 2, 2, 4, 4);
Fl::set_boxtype(FL_UP_BOX, upbox, 2, 2, 4, 4);
Fl::set_boxtype(FL_DOWN_BOX, downbox, 2, 2, 4, 4);
Fl::set_boxtype(FL_ROUND_UP_BOX, round_downbox, 2, 2, 4, 4);
Fl::set_boxtype(FL_ROUND_DOWN_BOX, round_downbox, 2, 2, 4, 4);
Fl::set_boxtype(FL_THIN_UP_BOX, upbox, 2, 2, 4, 4);
Fl::set_boxtype(FL_THIN_DOWN_BOX, downbox, 2, 2, 4, 4);
Fl::set_boxtype(FL_ROUNDED_FRAME, roundedframe, 2, 2, 4, 4);
Fl::set_boxtype(FL_UP_FRAME, roundedframe, 2, 2, 4, 4);
Fl::set_boxtype(FL_DOWN_FRAME, roundedframe, 2, 2, 4, 4);
Fl::set_boxtype(FL_BORDER_FRAME, roundedframe, 2, 2, 4, 4);
Fl::set_boxtype(FL_BORDER_BOX, upbox, 2, 2, 4, 4);
}
@@ -1,46 +0,0 @@
#pragma once
#include <stdlib.h>
#include <FL/Enumerations.H>
#include <FL/Fl_SVG_Image.H>
extern unsigned fl_cmap[256];
namespace detail {
struct Rgb {
unsigned char r;
unsigned char g;
unsigned char b;
};
inline Rgb get_rgb(Fl_Color col) {
unsigned char r = (col >> 24) & 0xFF;
unsigned char g = (col >> 16) & 0xFF;
unsigned char b = (col >> 8) & 0xFF;
unsigned char i = col & 0xFF;
if (i == 0) {
return Rgb{r, g, b};
} else {
auto val = fl_cmap[i];
unsigned char r1 = (val >> 24) & 0xFF;
unsigned char g1 = (val >> 16) & 0xFF;
unsigned char b1 = (val >> 8) & 0xFF;
return Rgb{r1, g1, b1};
}
}
template<typename ...Args>
char *gen_svg(const char *fmt, Args...args) {
auto len = snprintf(NULL, 0, fmt, args...);
auto buf = (char *)malloc(len + 1);
snprintf(buf, len + 1, fmt, args...);
return buf;
}
inline void draw_image(int x, int y, int w, int h, const char *str) {
auto img = new Fl_SVG_Image(NULL, str);
img->draw(x - 1, y - 1 , w + 2, h + 2);
delete img;
}
} // namespace detail
@@ -1,56 +0,0 @@
#include "impl.hpp"
#include <FL/Enumerations.H>
inline void metro_upbox(int x, int y, int w, int h, Fl_Color col) {
auto svg =
detail::gen_svg("<svg width='%d' height='%d' viewBox='0 0 100 100'>"
"<rect x='1' y='1' width='99' height='99' rx='0' stroke-width='1' stroke='rgb(0,0,0)' />"
"<rect x='1' y='1' width='97.5' height='48' rx='0' fill='rgb(245,245,245)' />"
"<rect x='1' y='48' width='97.5' height='48' rx='0' fill='rgb(230,230,230)' />"
"</svg>", w, h);
detail::draw_image(x, y, w, h, svg);
free(svg);
}
inline void metro_downbox(int x, int y, int w, int h, Fl_Color col) {
auto svg =
detail::gen_svg("<svg width='%d' height='%d' viewBox='0 0 100 100'>"
"<rect x='1' y='1' width='99' height='99' rx='0' stroke-width='1' stroke='rgb(0,0,0)' />"
"<rect x='1' y='1' width='97.5' height='48' rx='0' fill='rgb(230,230,230)' />"
"<rect x='1' y='48' width='97.5' height='48' rx='0' fill='rgb(245,245,245)' />"
"</svg>", w, h);
detail::draw_image(x, y, w, h, svg);
free(svg);
}
inline void metro_active_upbox(int x, int y, int w, int h, Fl_Color col) {
auto svg =
detail::gen_svg("<svg width='%d' height='%d' viewBox='0 0 100 100'>"
"<rect x='2' y='2' width='96' height='96' rx='0' stroke-width='2' stroke='rgb(69,179,234)' />"
"<rect x='3' y='4' width='94' height='46' rx='0' fill='rgb(245,245,245)' />"
"<rect x='3' y='48' width='94' height='46' rx='0' fill='rgb(230,230,230)' />"
"</svg>", w, h);
detail::draw_image(x, y, w, h, svg);
free(svg);
}
inline void metro_active_downbox(int x, int y, int w, int h, Fl_Color col) {
auto svg =
detail::gen_svg("<svg width='%d' height='%d' viewBox='0 0 100 100'>"
"<rect x='2' y='2' width='96' height='96' rx='0' stroke-width='2' stroke='rgb(69,179,234)' />"
"<rect x='3' y='4' width='94' height='46' rx='0' fill='rgb(230,230,230)' />"
"<rect x='3' y='48' width='94' height='46' rx='0' fill='rgb(245,245,245)' />"
"</svg>", w, h);
detail::draw_image(x, y, w, h, svg);
free(svg);
}
inline void init_metro_theme() {
Fl::scheme("gtk+");
Fl::set_boxtype(FL_UP_BOX, metro_upbox, 2, 2, 4, 4);
Fl::set_boxtype(FL_DOWN_BOX, metro_downbox, 2, 2, 4, 4);
Fl::set_boxtype(FL_DIAMOND_UP_BOX, metro_active_upbox, 2, 2, 4, 4);
Fl::set_boxtype(FL_DIAMOND_DOWN_BOX, metro_active_downbox, 2, 2, 4, 4);
}
#define METRO_BUTTON_BOX FL_DIAMOND_UP_BOX
-48
View File
@@ -1,48 +0,0 @@
#pragma once
#include <FL/Enumerations.H>
#include <FL/Fl_Toggle_Button.H>
#include <FL/fl_draw.H>
class Toggle : public Fl_Toggle_Button {
const char *label_ = NULL;
protected:
virtual void draw() override {
if (label_) {
fl_color(0xffffff00);
fl_font(FL_HELVETICA, FL_NORMAL_SIZE);
fl_draw(label_, x() - 100, y(), 80, h(), FL_ALIGN_CENTER);
}
Fl_Toggle_Button::draw();
}
virtual int handle(int e) override {
auto ret = 0;
switch (e) {
case FL_PUSH: {
if (value()) {
align(FL_ALIGN_LEFT | FL_ALIGN_INSIDE);
labelcolor(FL_RED);
} else {
align(FL_ALIGN_RIGHT | FL_ALIGN_INSIDE);
labelcolor(FL_GREEN);
}
parent()->redraw();
ret = 1;
}
}
return Fl_Toggle_Button::handle(e) | ret;
}
public:
Toggle(int x, int y, int w, int h, const char *label = NULL)
: Fl_Toggle_Button(x, y, w, h, "@+6square"), label_(label) {
align(FL_ALIGN_LEFT | FL_ALIGN_INSIDE);
labelcolor(FL_RED);
color(0xffffff00);
selection_color(0xffffff00);
box(FL_FLAT_BOX);
down_box(FL_FLAT_BOX);
clear_visible_focus();
}
};
-21
View File
@@ -1,21 +0,0 @@
MIT License
Copyright (c) 2022 Mohammed Alyousef
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
-57
View File
@@ -1,57 +0,0 @@
# Fl_Theme
Themer for FLTK
## Usage
Fl_Theme is a header only C++17 lib, targetting FLTK 1.4 (due to SVG support), it can be added directly to your project:
```c++
#include <FL/Fl.H>
#include <FL/Enumerations.H>
#include <FL/Fl_Box.H>
#include <FL/Fl_Button.H>
#include <FL/Fl_Check_Button.H>
#include <FL/Fl_Choice.H>
#include <FL/Fl_Input.H>
#include <FL/Fl_Menu_Bar.H>
#include <FL/Fl_Round_Button.H>
#include <FL/Fl_Window.H>
#include "Fl_Theme/Fl_Theme.hpp"
#include "Fl_Theme/colors/html.hpp"
#include "Fl_Theme/widgets/toggle.hpp"
extern int FLAT_BORDER_RADIUS; // for if we need to change the radius
Fl_Menu_Bar *create_menubar(int w) {
auto menu = new Fl_Menu_Bar(0, 0, w, 40);
menu->add("File/New\t");
menu->add("File/Open\t");
return menu;
}
int main() {
FLAT_BORDER_RADIUS = 5; // This is the default
WidgetTheme::apply(ThemeType::Dark);
auto win = new Fl_Window(400, 300);
{
create_menubar(400);
auto inp = new Fl_Input(100, 50, 200, 30, "Enter name");
auto toggle = new Toggle(120, 100, 60, 15, "Are you sure");
auto check = new Fl_Round_Button(220, 95, 80, 30, "Check");
auto choice = new Fl_Choice(160, 150, 80, 30, "Choices");
choice->add("opt1|opt2|opt3");
auto sep = new Fl_Box(10, 210, 380, 3);
sep->box(FL_ENGRAVED_BOX);
auto btn = new Fl_Button(160, 240, 80, 30, "Click");
btn->color(DarkRed);
btn->selection_color(DarkRed);
btn->clear_visible_focus();
}
win->end();
win->show();
return Fl::run();
}
```
![image](https://user-images.githubusercontent.com/37966791/164346600-0a76aedd-dcf2-4ea8-9452-1c165166641d.png)
-32
View File
@@ -1,32 +0,0 @@
// fltk_theme.cpp — Fl_Theme(header-only C++ 主题库)→ C API 桥接
//
// Fl_Theme 是纯 C++(模板/enum class/Fl::set_boxtype 绘制回调),无法用
// 纯 C 头文件对接,故写此桥接把主题功能导出为 C 函数,供 Viper extern FFI
// 调用(includes/fltk/_cfl_theme.vp)。
//
// 编译(mingw64):
// g++ -std=c++17 -O2 -c fltk_theme.cpp \
// -I ../Fl_Theme -I ../../cfltk/fltk -o ../../cfltk/build/fltk_theme.o
// ar rcs ../../cfltk/build/libfltk_theme.a ../../cfltk/build/fltk_theme.o
//
// 链接需要 libcfltk2.a(cfltk2 库)+ libfltk_images.a(Fl_SVG_Image)。
#include "Fl_Theme/Fl_Theme.hpp"
extern "C" {
// 应用深色主题(flat 控件方案 + BLACK 色板 + 深灰背景/白前景)
void Fl_Theme_apply_dark() { WidgetTheme::apply(ThemeType::Dark); }
// 应用 Metro 主题(metro 控件方案 + 蓝灰配色)
void Fl_Theme_apply_metro() { WidgetTheme::apply(ThemeType::Metro); }
// 设置 flat 控件圆角半径(默认 5;在应用主题前调用)
void Fl_Theme_set_border_radius(int radius) { FLAT_BORDER_RADIUS = radius; }
// 仅应用 flat 控件绘制方案(不改颜色),用于非 Dark/Metro 的主题切换
void Fl_Theme_apply_flat_scheme() { init_flat_theme(); }
// 仅应用 metro 控件绘制方案
void Fl_Theme_apply_metro_scheme() { init_metro_theme(); }
}
-38
View File
@@ -1,38 +0,0 @@
#include <FL/Fl.H>
#include <FL/Enumerations.H>
#include <FL/Fl_Box.H>
#include <FL/Fl_Button.H>
#include <FL/Fl_Check_Button.H>
#include <FL/Fl_Choice.H>
#include <FL/Fl_Input.H>
#include <FL/Fl_Round_Button.H>
#include <FL/Fl_Window.H>
#include "Fl_Theme/Fl_Theme.hpp"
#include "Fl_Theme/colors/html.hpp"
#include "Fl_Theme/widgets/toggle.hpp"
extern int FLAT_BORDER_RADIUS; // for if we need to change the radius
int main() {
FLAT_BORDER_RADIUS = 5;
WidgetTheme::apply(ThemeType::Dark);
auto win = new Fl_Window(400, 300);
{
auto inp = new Fl_Input(100, 50, 200, 30, "Enter name");
auto toggle = new Toggle(120, 100, 60, 15, "Are you sure");
auto check = new Fl_Round_Button(220, 95, 80, 30, "Check");
auto choice = new Fl_Choice(160, 150, 80, 30, "Choices");
choice->add("opt1|opt2|opt3");
auto sep = new Fl_Box(10, 210, 380, 3);
sep->box(FL_ENGRAVED_BOX);
auto btn = new Fl_Button(160, 240, 80, 30, "Click");
btn->color(DarkRed);
btn->selection_color(DarkRed);
btn->clear_visible_focus();
}
win->end();
win->show();
return Fl::run();
}
-32
View File
@@ -1,32 +0,0 @@
#include <FL/Fl.H>
#include <FL/Enumerations.H>
#include <FL/Fl_Box.H>
#include <FL/Fl_Button.H>
#include <FL/Fl_Check_Button.H>
#include <FL/Fl_Choice.H>
#include <FL/Fl_Input.H>
#include <FL/Fl_Round_Button.H>
#include <FL/Fl_Window.H>
#include "Fl_Theme/Fl_Theme.hpp"
int main() {
WidgetTheme::apply(ThemeType::Metro);
auto win = new Fl_Window(400, 300);
{
auto inp = new Fl_Input(100, 50, 200, 30, "Enter name");
auto check = new Fl_Check_Button(80, 100, 60, 15, "Are you sure");
auto round = new Fl_Round_Button(220, 95, 80, 30, "Check");
auto choice = new Fl_Choice(160, 150, 80, 30, "Choices");
choice->add("opt1|opt2|opt3");
auto sep = new Fl_Box(10, 210, 380, 3);
sep->box(FL_ENGRAVED_BOX);
auto btn = new Fl_Button(160, 240, 80, 30, "Click");
btn->box(METRO_BUTTON_BOX);
btn->clear_visible_focus();
}
win->end();
win->show();
return Fl::run();
}
-1329
View File
File diff suppressed because it is too large. Load diff
-195
View File
@@ -1,195 +0,0 @@
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
-98
View File
@@ -1,98 +0,0 @@
import t, c
from fltk._types import *
# ============================================================
# fltk/_cfl_box.vp — cfl_box.h 的 extern FFI 声明(对接 cfltk C API)
# ============================================================
# 所有函数直接对应 cfltk 生成的 C 符号(extern "C"),链接目标: cfltk2。
# 类型约定: Fl_* 对象均为不透明指针 (Fl_XxxPtr);const char* → str;
# 函数指针/void* → bytes(Viper 端传 0/NULL 或不使用)。
# ----- Fl_Box (widget_declare) -----
extern def Fl_Box_new(x: int, y: int, width: int, height: int, title: str) -> Fl_BoxPtr
extern def Fl_Box_x(self: Fl_BoxPtr) -> int
extern def Fl_Box_y(self: Fl_BoxPtr) -> int
extern def Fl_Box_width(self: Fl_BoxPtr) -> int
extern def Fl_Box_height(self: Fl_BoxPtr) -> int
extern def Fl_Box_label(self: Fl_BoxPtr) -> str
extern def Fl_Box_set_label(self: Fl_BoxPtr, title: str)
extern def Fl_Box_redraw(self: Fl_BoxPtr)
extern def Fl_Box_show(self: Fl_BoxPtr)
extern def Fl_Box_hide(self: Fl_BoxPtr)
extern def Fl_Box_activate(self: Fl_BoxPtr)
extern def Fl_Box_deactivate(self: Fl_BoxPtr)
extern def Fl_Box_redraw_label(self: Fl_BoxPtr)
extern def Fl_Box_resize(self: Fl_BoxPtr, x: int, y: int, width: int, height: int)
extern def Fl_Box_widget_resize(self: Fl_BoxPtr, x: int, y: int, width: int, height: int)
extern def Fl_Box_tooltip(self: Fl_BoxPtr) -> str
extern def Fl_Box_set_tooltip(self: Fl_BoxPtr, txt: str)
extern def Fl_Box_get_type(self: Fl_BoxPtr) -> int
extern def Fl_Box_set_type(self: Fl_BoxPtr, typ: int)
extern def Fl_Box_color(self: Fl_BoxPtr) -> t.CUInt32T
extern def Fl_Box_set_color(self: Fl_BoxPtr, color: t.CUInt32T)
extern def Fl_Box_measure_label(self: Fl_BoxPtr, a1: bytes, a2: bytes)
extern def Fl_Box_label_color(self: Fl_BoxPtr) -> t.CUInt32T
extern def Fl_Box_set_label_color(self: Fl_BoxPtr, color: t.CUInt32T)
extern def Fl_Box_label_font(self: Fl_BoxPtr) -> int
extern def Fl_Box_set_label_font(self: Fl_BoxPtr, font: int)
extern def Fl_Box_label_size(self: Fl_BoxPtr) -> int
extern def Fl_Box_set_label_size(self: Fl_BoxPtr, sz: int)
extern def Fl_Box_label_type(self: Fl_BoxPtr) -> int
extern def Fl_Box_set_label_type(self: Fl_BoxPtr, typ: int)
extern def Fl_Box_box(self: Fl_BoxPtr) -> int
extern def Fl_Box_set_box(self: Fl_BoxPtr, typ: int)
extern def Fl_Box_changed(self: Fl_BoxPtr) -> int
extern def Fl_Box_set_changed(self: Fl_BoxPtr)
extern def Fl_Box_clear_changed(self: Fl_BoxPtr)
extern def Fl_Box_align(self: Fl_BoxPtr) -> int
extern def Fl_Box_set_align(self: Fl_BoxPtr, typ: int)
extern def Fl_Box_delete(self: Fl_BoxPtr)
extern def Fl_Box_set_image(self: Fl_BoxPtr, a1: bytes)
extern def Fl_Box_handle(self: Fl_BoxPtr, cb: bytes, data: bytes)
extern def Fl_Box_handle_event(self: Fl_BoxPtr, event: int) -> int
extern def Fl_Box_draw(self: Fl_BoxPtr, cb: bytes, data: bytes)
extern def Fl_Box_resize_callback(self: Fl_BoxPtr, cb1: bytes, data: bytes)
extern def Fl_Box_set_when(self: Fl_BoxPtr, a1: int)
extern def Fl_Box_when(self: Fl_BoxPtr) -> int
extern def Fl_Box_image(self: Fl_BoxPtr) -> bytes
extern def Fl_Box_parent(self: Fl_BoxPtr) -> bytes
extern def Fl_Box_selection_color(self: Fl_BoxPtr) -> t.CUInt32T
extern def Fl_Box_set_selection_color(self: Fl_BoxPtr, color: t.CUInt32T)
extern def Fl_Box_do_callback(self: Fl_BoxPtr)
extern def Fl_Box_inside(self: Fl_BoxPtr, a1: bytes) -> int
extern def Fl_Box_window(self: Fl_BoxPtr) -> bytes
extern def Fl_Box_top_window(self: Fl_BoxPtr) -> bytes
extern def Fl_Box_takes_events(self: Fl_BoxPtr) -> int
extern def Fl_Box_user_data(self: Fl_BoxPtr) -> bytes
extern def Fl_Box_take_focus(self: Fl_BoxPtr) -> int
extern def Fl_Box_set_visible_focus(self: Fl_BoxPtr)
extern def Fl_Box_clear_visible_focus(self: Fl_BoxPtr)
extern def Fl_Box_visible_focus(self: Fl_BoxPtr, v: int)
extern def Fl_Box_has_visible_focus(self: Fl_BoxPtr) -> t.CUInt32T
extern def Fl_Box_set_user_data(self: Fl_BoxPtr, data: bytes)
extern def Fl_Box_draw_data(self: Fl_BoxPtr) -> bytes
extern def Fl_Box_handle_data(self: Fl_BoxPtr) -> bytes
extern def Fl_Box_set_draw_data(self: Fl_BoxPtr, data: bytes)
extern def Fl_Box_set_handle_data(self: Fl_BoxPtr, data: bytes)
extern def Fl_Box_damage(self: Fl_BoxPtr) -> t.CUInt8T
extern def Fl_Box_set_damage(self: Fl_BoxPtr, flag: t.CUInt8T)
extern def Fl_Box_set_damage_area(self: Fl_BoxPtr, flag: t.CUInt8T, x: int, y: int, w: int, h: int)
extern def Fl_Box_clear_damage(self: Fl_BoxPtr)
extern def Fl_Box_as_window(self: Fl_BoxPtr) -> bytes
extern def Fl_Box_as_group(self: Fl_BoxPtr) -> bytes
extern def Fl_Box_set_deimage(self: Fl_BoxPtr, a1: bytes)
extern def Fl_Box_deimage(self: Fl_BoxPtr) -> bytes
extern def Fl_Box_set_callback(self: Fl_BoxPtr, a1: bytes, a2: bytes)
extern def Fl_Box_visible(self: Fl_BoxPtr) -> int
extern def Fl_Box_visible_r(self: Fl_BoxPtr) -> int
extern def Fl_Box_active(self: Fl_BoxPtr) -> t.CUInt32T
extern def Fl_Box_active_r(self: Fl_BoxPtr) -> int
extern def Fl_Box_callback(self: Fl_BoxPtr) -> bytes
extern def Fl_Box_set_deletion_callback(self: Fl_BoxPtr, cb1: bytes, data: bytes)
extern def Fl_Box_from_dyn_ptr(ptr: Fl_WidgetPtr) -> Fl_BoxPtr
extern def Fl_Box_from_derived_dyn_ptr(ptr: Fl_WidgetPtr) -> Fl_BoxPtr
extern def Fl_Box_super_draw(ptr: Fl_WidgetPtr, flag: int)
extern def Fl_Box_super_draw_first(ptr: Fl_WidgetPtr, flag: int)
extern def Fl_Box_super_handle_first(ptr: Fl_WidgetPtr, flag: int)
-802
View File
@@ -1,802 +0,0 @@
import t, c
from fltk._types import *
# ============================================================
# fltk/_cfl_browser.vp — cfl_browser.h 的 extern FFI 声明(对接 cfltk C API)
# ============================================================
# 所有函数直接对应 cfltk 生成的 C 符号(extern "C"),链接目标: cfltk2。
# 类型约定: Fl_* 对象均为不透明指针 (Fl_XxxPtr);const char* → str;
# 函数指针/void* → bytes(Viper 端传 0/NULL 或不使用)。
# ----- Fl_Browser (widget_declare) -----
extern def Fl_Browser_new(x: int, y: int, width: int, height: int, title: str) -> Fl_BrowserPtr
extern def Fl_Browser_x(self: Fl_BrowserPtr) -> int
extern def Fl_Browser_y(self: Fl_BrowserPtr) -> int
extern def Fl_Browser_width(self: Fl_BrowserPtr) -> int
extern def Fl_Browser_height(self: Fl_BrowserPtr) -> int
extern def Fl_Browser_label(self: Fl_BrowserPtr) -> str
extern def Fl_Browser_set_label(self: Fl_BrowserPtr, title: str)
extern def Fl_Browser_redraw(self: Fl_BrowserPtr)
extern def Fl_Browser_show(self: Fl_BrowserPtr)
extern def Fl_Browser_hide(self: Fl_BrowserPtr)
extern def Fl_Browser_activate(self: Fl_BrowserPtr)
extern def Fl_Browser_deactivate(self: Fl_BrowserPtr)
extern def Fl_Browser_redraw_label(self: Fl_BrowserPtr)
extern def Fl_Browser_resize(self: Fl_BrowserPtr, x: int, y: int, width: int, height: int)
extern def Fl_Browser_widget_resize(self: Fl_BrowserPtr, x: int, y: int, width: int, height: int)
extern def Fl_Browser_tooltip(self: Fl_BrowserPtr) -> str
extern def Fl_Browser_set_tooltip(self: Fl_BrowserPtr, txt: str)
extern def Fl_Browser_get_type(self: Fl_BrowserPtr) -> int
extern def Fl_Browser_set_type(self: Fl_BrowserPtr, typ: int)
extern def Fl_Browser_color(self: Fl_BrowserPtr) -> t.CUInt32T
extern def Fl_Browser_set_color(self: Fl_BrowserPtr, color: t.CUInt32T)
extern def Fl_Browser_measure_label(self: Fl_BrowserPtr, a1: bytes, a2: bytes)
extern def Fl_Browser_label_color(self: Fl_BrowserPtr) -> t.CUInt32T
extern def Fl_Browser_set_label_color(self: Fl_BrowserPtr, color: t.CUInt32T)
extern def Fl_Browser_label_font(self: Fl_BrowserPtr) -> int
extern def Fl_Browser_set_label_font(self: Fl_BrowserPtr, font: int)
extern def Fl_Browser_label_size(self: Fl_BrowserPtr) -> int
extern def Fl_Browser_set_label_size(self: Fl_BrowserPtr, sz: int)
extern def Fl_Browser_label_type(self: Fl_BrowserPtr) -> int
extern def Fl_Browser_set_label_type(self: Fl_BrowserPtr, typ: int)
extern def Fl_Browser_box(self: Fl_BrowserPtr) -> int
extern def Fl_Browser_set_box(self: Fl_BrowserPtr, typ: int)
extern def Fl_Browser_changed(self: Fl_BrowserPtr) -> int
extern def Fl_Browser_set_changed(self: Fl_BrowserPtr)
extern def Fl_Browser_clear_changed(self: Fl_BrowserPtr)
extern def Fl_Browser_align(self: Fl_BrowserPtr) -> int
extern def Fl_Browser_set_align(self: Fl_BrowserPtr, typ: int)
extern def Fl_Browser_delete(self: Fl_BrowserPtr)
extern def Fl_Browser_set_image(self: Fl_BrowserPtr, a1: bytes)
extern def Fl_Browser_handle(self: Fl_BrowserPtr, cb: bytes, data: bytes)
extern def Fl_Browser_handle_event(self: Fl_BrowserPtr, event: int) -> int
extern def Fl_Browser_draw(self: Fl_BrowserPtr, cb: bytes, data: bytes)
extern def Fl_Browser_resize_callback(self: Fl_BrowserPtr, cb1: bytes, data: bytes)
extern def Fl_Browser_set_when(self: Fl_BrowserPtr, a1: int)
extern def Fl_Browser_when(self: Fl_BrowserPtr) -> int
extern def Fl_Browser_image(self: Fl_BrowserPtr) -> bytes
extern def Fl_Browser_parent(self: Fl_BrowserPtr) -> bytes
extern def Fl_Browser_selection_color(self: Fl_BrowserPtr) -> t.CUInt32T
extern def Fl_Browser_set_selection_color(self: Fl_BrowserPtr, color: t.CUInt32T)
extern def Fl_Browser_do_callback(self: Fl_BrowserPtr)
extern def Fl_Browser_inside(self: Fl_BrowserPtr, a1: bytes) -> int
extern def Fl_Browser_window(self: Fl_BrowserPtr) -> bytes
extern def Fl_Browser_top_window(self: Fl_BrowserPtr) -> bytes
extern def Fl_Browser_takes_events(self: Fl_BrowserPtr) -> int
extern def Fl_Browser_user_data(self: Fl_BrowserPtr) -> bytes
extern def Fl_Browser_take_focus(self: Fl_BrowserPtr) -> int
extern def Fl_Browser_set_visible_focus(self: Fl_BrowserPtr)
extern def Fl_Browser_clear_visible_focus(self: Fl_BrowserPtr)
extern def Fl_Browser_visible_focus(self: Fl_BrowserPtr, v: int)
extern def Fl_Browser_has_visible_focus(self: Fl_BrowserPtr) -> t.CUInt32T
extern def Fl_Browser_set_user_data(self: Fl_BrowserPtr, data: bytes)
extern def Fl_Browser_draw_data(self: Fl_BrowserPtr) -> bytes
extern def Fl_Browser_handle_data(self: Fl_BrowserPtr) -> bytes
extern def Fl_Browser_set_draw_data(self: Fl_BrowserPtr, data: bytes)
extern def Fl_Browser_set_handle_data(self: Fl_BrowserPtr, data: bytes)
extern def Fl_Browser_damage(self: Fl_BrowserPtr) -> t.CUInt8T
extern def Fl_Browser_set_damage(self: Fl_BrowserPtr, flag: t.CUInt8T)
extern def Fl_Browser_set_damage_area(self: Fl_BrowserPtr, flag: t.CUInt8T, x: int, y: int, w: int, h: int)
extern def Fl_Browser_clear_damage(self: Fl_BrowserPtr)
extern def Fl_Browser_as_window(self: Fl_BrowserPtr) -> bytes
extern def Fl_Browser_as_group(self: Fl_BrowserPtr) -> bytes
extern def Fl_Browser_set_deimage(self: Fl_BrowserPtr, a1: bytes)
extern def Fl_Browser_deimage(self: Fl_BrowserPtr) -> bytes
extern def Fl_Browser_set_callback(self: Fl_BrowserPtr, a1: bytes, a2: bytes)
extern def Fl_Browser_visible(self: Fl_BrowserPtr) -> int
extern def Fl_Browser_visible_r(self: Fl_BrowserPtr) -> int
extern def Fl_Browser_active(self: Fl_BrowserPtr) -> t.CUInt32T
extern def Fl_Browser_active_r(self: Fl_BrowserPtr) -> int
extern def Fl_Browser_callback(self: Fl_BrowserPtr) -> bytes
extern def Fl_Browser_set_deletion_callback(self: Fl_BrowserPtr, cb1: bytes, data: bytes)
extern def Fl_Browser_from_dyn_ptr(ptr: Fl_WidgetPtr) -> Fl_BrowserPtr
extern def Fl_Browser_from_derived_dyn_ptr(ptr: Fl_WidgetPtr) -> Fl_BrowserPtr
extern def Fl_Browser_super_draw(ptr: Fl_WidgetPtr, flag: int)
extern def Fl_Browser_super_draw_first(ptr: Fl_WidgetPtr, flag: int)
extern def Fl_Browser_super_handle_first(ptr: Fl_WidgetPtr, flag: int)
# ----- Fl_Browser (browser_declare) -----
extern def Fl_Browser_value(self: Fl_BrowserPtr) -> int
extern def Fl_Browser_remove(self: Fl_BrowserPtr, line: int)
extern def Fl_Browser_add(self: Fl_BrowserPtr, newtext: str)
extern def Fl_Browser_insert(self: Fl_BrowserPtr, line: int, newtext: str)
extern def Fl_Browser_move(self: Fl_BrowserPtr, to: int, from_: int)
extern def Fl_Browser_swap(self: Fl_BrowserPtr, a: int, b: int)
extern def Fl_Browser_clear(self: Fl_BrowserPtr)
extern def Fl_Browser_size(self: Fl_BrowserPtr) -> int
extern def Fl_Browser_select(self: Fl_BrowserPtr, line: int) -> int
extern def Fl_Browser_select_ext(self: Fl_BrowserPtr, line: int, val: int) -> int
extern def Fl_Browser_selected(self: Fl_BrowserPtr, line: int) -> int
extern def Fl_Browser_text(self: Fl_BrowserPtr, line: int) -> str
extern def Fl_Browser_set_text(self: Fl_BrowserPtr, line: int, newtext: str)
extern def Fl_Browser_load_file(self: Fl_BrowserPtr, file: str)
extern def Fl_Browser_text_size(self: Fl_BrowserPtr) -> int
extern def Fl_Browser_set_text_size(self: Fl_BrowserPtr, s: int)
extern def Fl_Browser_set_icon(self: Fl_BrowserPtr, line: int, icon: bytes)
extern def Fl_Browser_icon(self: Fl_BrowserPtr, line: int) -> bytes
extern def Fl_Browser_remove_icon(self: Fl_BrowserPtr, line: int)
extern def Fl_Browser_topline(self: Fl_BrowserPtr, line: int)
extern def Fl_Browser_is_topline(self: Fl_BrowserPtr) -> int
extern def Fl_Browser_bottomline(self: Fl_BrowserPtr, line: int)
extern def Fl_Browser_middleline(self: Fl_BrowserPtr, line: int)
extern def Fl_Browser_format_char(self: Fl_BrowserPtr) -> char
extern def Fl_Browser_set_format_char(self: Fl_BrowserPtr, c: char)
extern def Fl_Browser_column_char(self: Fl_BrowserPtr) -> char
extern def Fl_Browser_set_column_char(self: Fl_BrowserPtr, c: char)
extern def Fl_Browser_column_widths(self: Fl_BrowserPtr) -> bytes
extern def Fl_Browser_set_column_widths(self: Fl_BrowserPtr, arr: bytes)
extern def Fl_Browser_displayed(self: Fl_BrowserPtr, line: int) -> int
extern def Fl_Browser_make_visible(self: Fl_BrowserPtr, line: int)
extern def Fl_Browser_position(self: Fl_BrowserPtr) -> int
extern def Fl_Browser_set_position(self: Fl_BrowserPtr, pos: int)
extern def Fl_Browser_hposition(self: Fl_BrowserPtr) -> int
extern def Fl_Browser_set_hposition(self: Fl_BrowserPtr, a1: int)
extern def Fl_Browser_has_scrollbar(self: Fl_BrowserPtr) -> t.CUInt8T
extern def Fl_Browser_set_has_scrollbar(self: Fl_BrowserPtr, mode: t.CUInt8T)
extern def Fl_Browser_scrollbar_size(self: Fl_BrowserPtr) -> int
extern def Fl_Browser_set_scrollbar_size(self: Fl_BrowserPtr, newSize: int)
extern def Fl_Browser_sort(self: Fl_BrowserPtr)
extern def Fl_Browser_scrollbar(self: Fl_BrowserPtr) -> bytes
extern def Fl_Browser_hscrollbar(self: Fl_BrowserPtr) -> bytes
extern def Fl_Browser_data(self: Fl_BrowserPtr, line: int) -> bytes
extern def Fl_Browser_set_data(self: Fl_BrowserPtr, line: int, data: bytes)
extern def Fl_Browser_hide_line(self: Fl_BrowserPtr, line: int)
# ----- Fl_Hold_Browser (widget_declare) -----
extern def Fl_Hold_Browser_new(x: int, y: int, width: int, height: int, title: str) -> Fl_Hold_BrowserPtr
extern def Fl_Hold_Browser_x(self: Fl_Hold_BrowserPtr) -> int
extern def Fl_Hold_Browser_y(self: Fl_Hold_BrowserPtr) -> int
extern def Fl_Hold_Browser_width(self: Fl_Hold_BrowserPtr) -> int
extern def Fl_Hold_Browser_height(self: Fl_Hold_BrowserPtr) -> int
extern def Fl_Hold_Browser_label(self: Fl_Hold_BrowserPtr) -> str
extern def Fl_Hold_Browser_set_label(self: Fl_Hold_BrowserPtr, title: str)
extern def Fl_Hold_Browser_redraw(self: Fl_Hold_BrowserPtr)
extern def Fl_Hold_Browser_show(self: Fl_Hold_BrowserPtr)
extern def Fl_Hold_Browser_hide(self: Fl_Hold_BrowserPtr)
extern def Fl_Hold_Browser_activate(self: Fl_Hold_BrowserPtr)
extern def Fl_Hold_Browser_deactivate(self: Fl_Hold_BrowserPtr)
extern def Fl_Hold_Browser_redraw_label(self: Fl_Hold_BrowserPtr)
extern def Fl_Hold_Browser_resize(self: Fl_Hold_BrowserPtr, x: int, y: int, width: int, height: int)
extern def Fl_Hold_Browser_widget_resize(self: Fl_Hold_BrowserPtr, x: int, y: int, width: int, height: int)
extern def Fl_Hold_Browser_tooltip(self: Fl_Hold_BrowserPtr) -> str
extern def Fl_Hold_Browser_set_tooltip(self: Fl_Hold_BrowserPtr, txt: str)
extern def Fl_Hold_Browser_get_type(self: Fl_Hold_BrowserPtr) -> int
extern def Fl_Hold_Browser_set_type(self: Fl_Hold_BrowserPtr, typ: int)
extern def Fl_Hold_Browser_color(self: Fl_Hold_BrowserPtr) -> t.CUInt32T
extern def Fl_Hold_Browser_set_color(self: Fl_Hold_BrowserPtr, color: t.CUInt32T)
extern def Fl_Hold_Browser_measure_label(self: Fl_Hold_BrowserPtr, a1: bytes, a2: bytes)
extern def Fl_Hold_Browser_label_color(self: Fl_Hold_BrowserPtr) -> t.CUInt32T
extern def Fl_Hold_Browser_set_label_color(self: Fl_Hold_BrowserPtr, color: t.CUInt32T)
extern def Fl_Hold_Browser_label_font(self: Fl_Hold_BrowserPtr) -> int
extern def Fl_Hold_Browser_set_label_font(self: Fl_Hold_BrowserPtr, font: int)
extern def Fl_Hold_Browser_label_size(self: Fl_Hold_BrowserPtr) -> int
extern def Fl_Hold_Browser_set_label_size(self: Fl_Hold_BrowserPtr, sz: int)
extern def Fl_Hold_Browser_label_type(self: Fl_Hold_BrowserPtr) -> int
extern def Fl_Hold_Browser_set_label_type(self: Fl_Hold_BrowserPtr, typ: int)
extern def Fl_Hold_Browser_box(self: Fl_Hold_BrowserPtr) -> int
extern def Fl_Hold_Browser_set_box(self: Fl_Hold_BrowserPtr, typ: int)
extern def Fl_Hold_Browser_changed(self: Fl_Hold_BrowserPtr) -> int
extern def Fl_Hold_Browser_set_changed(self: Fl_Hold_BrowserPtr)
extern def Fl_Hold_Browser_clear_changed(self: Fl_Hold_BrowserPtr)
extern def Fl_Hold_Browser_align(self: Fl_Hold_BrowserPtr) -> int
extern def Fl_Hold_Browser_set_align(self: Fl_Hold_BrowserPtr, typ: int)
extern def Fl_Hold_Browser_delete(self: Fl_Hold_BrowserPtr)
extern def Fl_Hold_Browser_set_image(self: Fl_Hold_BrowserPtr, a1: bytes)
extern def Fl_Hold_Browser_handle(self: Fl_Hold_BrowserPtr, cb: bytes, data: bytes)
extern def Fl_Hold_Browser_handle_event(self: Fl_Hold_BrowserPtr, event: int) -> int
extern def Fl_Hold_Browser_draw(self: Fl_Hold_BrowserPtr, cb: bytes, data: bytes)
extern def Fl_Hold_Browser_resize_callback(self: Fl_Hold_BrowserPtr, cb1: bytes, data: bytes)
extern def Fl_Hold_Browser_set_when(self: Fl_Hold_BrowserPtr, a1: int)
extern def Fl_Hold_Browser_when(self: Fl_Hold_BrowserPtr) -> int
extern def Fl_Hold_Browser_image(self: Fl_Hold_BrowserPtr) -> bytes
extern def Fl_Hold_Browser_parent(self: Fl_Hold_BrowserPtr) -> bytes
extern def Fl_Hold_Browser_selection_color(self: Fl_Hold_BrowserPtr) -> t.CUInt32T
extern def Fl_Hold_Browser_set_selection_color(self: Fl_Hold_BrowserPtr, color: t.CUInt32T)
extern def Fl_Hold_Browser_do_callback(self: Fl_Hold_BrowserPtr)
extern def Fl_Hold_Browser_inside(self: Fl_Hold_BrowserPtr, a1: bytes) -> int
extern def Fl_Hold_Browser_window(self: Fl_Hold_BrowserPtr) -> bytes
extern def Fl_Hold_Browser_top_window(self: Fl_Hold_BrowserPtr) -> bytes
extern def Fl_Hold_Browser_takes_events(self: Fl_Hold_BrowserPtr) -> int
extern def Fl_Hold_Browser_user_data(self: Fl_Hold_BrowserPtr) -> bytes
extern def Fl_Hold_Browser_take_focus(self: Fl_Hold_BrowserPtr) -> int
extern def Fl_Hold_Browser_set_visible_focus(self: Fl_Hold_BrowserPtr)
extern def Fl_Hold_Browser_clear_visible_focus(self: Fl_Hold_BrowserPtr)
extern def Fl_Hold_Browser_visible_focus(self: Fl_Hold_BrowserPtr, v: int)
extern def Fl_Hold_Browser_has_visible_focus(self: Fl_Hold_BrowserPtr) -> t.CUInt32T
extern def Fl_Hold_Browser_set_user_data(self: Fl_Hold_BrowserPtr, data: bytes)
extern def Fl_Hold_Browser_draw_data(self: Fl_Hold_BrowserPtr) -> bytes
extern def Fl_Hold_Browser_handle_data(self: Fl_Hold_BrowserPtr) -> bytes
extern def Fl_Hold_Browser_set_draw_data(self: Fl_Hold_BrowserPtr, data: bytes)
extern def Fl_Hold_Browser_set_handle_data(self: Fl_Hold_BrowserPtr, data: bytes)
extern def Fl_Hold_Browser_damage(self: Fl_Hold_BrowserPtr) -> t.CUInt8T
extern def Fl_Hold_Browser_set_damage(self: Fl_Hold_BrowserPtr, flag: t.CUInt8T)
extern def Fl_Hold_Browser_set_damage_area(self: Fl_Hold_BrowserPtr, flag: t.CUInt8T, x: int, y: int, w: int, h: int)
extern def Fl_Hold_Browser_clear_damage(self: Fl_Hold_BrowserPtr)
extern def Fl_Hold_Browser_as_window(self: Fl_Hold_BrowserPtr) -> bytes
extern def Fl_Hold_Browser_as_group(self: Fl_Hold_BrowserPtr) -> bytes
extern def Fl_Hold_Browser_set_deimage(self: Fl_Hold_BrowserPtr, a1: bytes)
extern def Fl_Hold_Browser_deimage(self: Fl_Hold_BrowserPtr) -> bytes
extern def Fl_Hold_Browser_set_callback(self: Fl_Hold_BrowserPtr, a1: bytes, a2: bytes)
extern def Fl_Hold_Browser_visible(self: Fl_Hold_BrowserPtr) -> int
extern def Fl_Hold_Browser_visible_r(self: Fl_Hold_BrowserPtr) -> int
extern def Fl_Hold_Browser_active(self: Fl_Hold_BrowserPtr) -> t.CUInt32T
extern def Fl_Hold_Browser_active_r(self: Fl_Hold_BrowserPtr) -> int
extern def Fl_Hold_Browser_callback(self: Fl_Hold_BrowserPtr) -> bytes
extern def Fl_Hold_Browser_set_deletion_callback(self: Fl_Hold_BrowserPtr, cb1: bytes, data: bytes)
extern def Fl_Hold_Browser_from_dyn_ptr(ptr: Fl_WidgetPtr) -> Fl_Hold_BrowserPtr
extern def Fl_Hold_Browser_from_derived_dyn_ptr(ptr: Fl_WidgetPtr) -> Fl_Hold_BrowserPtr
extern def Fl_Hold_Browser_super_draw(ptr: Fl_WidgetPtr, flag: int)
extern def Fl_Hold_Browser_super_draw_first(ptr: Fl_WidgetPtr, flag: int)
extern def Fl_Hold_Browser_super_handle_first(ptr: Fl_WidgetPtr, flag: int)
# ----- Fl_Hold_Browser (browser_declare) -----
extern def Fl_Hold_Browser_value(self: Fl_Hold_BrowserPtr) -> int
extern def Fl_Hold_Browser_remove(self: Fl_Hold_BrowserPtr, line: int)
extern def Fl_Hold_Browser_add(self: Fl_Hold_BrowserPtr, newtext: str)
extern def Fl_Hold_Browser_insert(self: Fl_Hold_BrowserPtr, line: int, newtext: str)
extern def Fl_Hold_Browser_move(self: Fl_Hold_BrowserPtr, to: int, from_: int)
extern def Fl_Hold_Browser_swap(self: Fl_Hold_BrowserPtr, a: int, b: int)
extern def Fl_Hold_Browser_clear(self: Fl_Hold_BrowserPtr)
extern def Fl_Hold_Browser_size(self: Fl_Hold_BrowserPtr) -> int
extern def Fl_Hold_Browser_select(self: Fl_Hold_BrowserPtr, line: int) -> int
extern def Fl_Hold_Browser_select_ext(self: Fl_Hold_BrowserPtr, line: int, val: int) -> int
extern def Fl_Hold_Browser_selected(self: Fl_Hold_BrowserPtr, line: int) -> int
extern def Fl_Hold_Browser_text(self: Fl_Hold_BrowserPtr, line: int) -> str
extern def Fl_Hold_Browser_set_text(self: Fl_Hold_BrowserPtr, line: int, newtext: str)
extern def Fl_Hold_Browser_load_file(self: Fl_Hold_BrowserPtr, file: str)
extern def Fl_Hold_Browser_text_size(self: Fl_Hold_BrowserPtr) -> int
extern def Fl_Hold_Browser_set_text_size(self: Fl_Hold_BrowserPtr, s: int)
extern def Fl_Hold_Browser_set_icon(self: Fl_Hold_BrowserPtr, line: int, icon: bytes)
extern def Fl_Hold_Browser_icon(self: Fl_Hold_BrowserPtr, line: int) -> bytes
extern def Fl_Hold_Browser_remove_icon(self: Fl_Hold_BrowserPtr, line: int)
extern def Fl_Hold_Browser_topline(self: Fl_Hold_BrowserPtr, line: int)
extern def Fl_Hold_Browser_is_topline(self: Fl_Hold_BrowserPtr) -> int
extern def Fl_Hold_Browser_bottomline(self: Fl_Hold_BrowserPtr, line: int)
extern def Fl_Hold_Browser_middleline(self: Fl_Hold_BrowserPtr, line: int)
extern def Fl_Hold_Browser_format_char(self: Fl_Hold_BrowserPtr) -> char
extern def Fl_Hold_Browser_set_format_char(self: Fl_Hold_BrowserPtr, c: char)
extern def Fl_Hold_Browser_column_char(self: Fl_Hold_BrowserPtr) -> char
extern def Fl_Hold_Browser_set_column_char(self: Fl_Hold_BrowserPtr, c: char)
extern def Fl_Hold_Browser_column_widths(self: Fl_Hold_BrowserPtr) -> bytes
extern def Fl_Hold_Browser_set_column_widths(self: Fl_Hold_BrowserPtr, arr: bytes)
extern def Fl_Hold_Browser_displayed(self: Fl_Hold_BrowserPtr, line: int) -> int
extern def Fl_Hold_Browser_make_visible(self: Fl_Hold_BrowserPtr, line: int)
extern def Fl_Hold_Browser_position(self: Fl_Hold_BrowserPtr) -> int
extern def Fl_Hold_Browser_set_position(self: Fl_Hold_BrowserPtr, pos: int)
extern def Fl_Hold_Browser_hposition(self: Fl_Hold_BrowserPtr) -> int
extern def Fl_Hold_Browser_set_hposition(self: Fl_Hold_BrowserPtr, a1: int)
extern def Fl_Hold_Browser_has_scrollbar(self: Fl_Hold_BrowserPtr) -> t.CUInt8T
extern def Fl_Hold_Browser_set_has_scrollbar(self: Fl_Hold_BrowserPtr, mode: t.CUInt8T)
extern def Fl_Hold_Browser_scrollbar_size(self: Fl_Hold_BrowserPtr) -> int
extern def Fl_Hold_Browser_set_scrollbar_size(self: Fl_Hold_BrowserPtr, newSize: int)
extern def Fl_Hold_Browser_sort(self: Fl_Hold_BrowserPtr)
extern def Fl_Hold_Browser_scrollbar(self: Fl_Hold_BrowserPtr) -> bytes
extern def Fl_Hold_Browser_hscrollbar(self: Fl_Hold_BrowserPtr) -> bytes
extern def Fl_Hold_Browser_data(self: Fl_Hold_BrowserPtr, line: int) -> bytes
extern def Fl_Hold_Browser_set_data(self: Fl_Hold_BrowserPtr, line: int, data: bytes)
extern def Fl_Hold_Browser_hide_line(self: Fl_Hold_BrowserPtr, line: int)
# ----- Fl_Select_Browser (widget_declare) -----
extern def Fl_Select_Browser_new(x: int, y: int, width: int, height: int, title: str) -> Fl_Select_BrowserPtr
extern def Fl_Select_Browser_x(self: Fl_Select_BrowserPtr) -> int
extern def Fl_Select_Browser_y(self: Fl_Select_BrowserPtr) -> int
extern def Fl_Select_Browser_width(self: Fl_Select_BrowserPtr) -> int
extern def Fl_Select_Browser_height(self: Fl_Select_BrowserPtr) -> int
extern def Fl_Select_Browser_label(self: Fl_Select_BrowserPtr) -> str
extern def Fl_Select_Browser_set_label(self: Fl_Select_BrowserPtr, title: str)
extern def Fl_Select_Browser_redraw(self: Fl_Select_BrowserPtr)
extern def Fl_Select_Browser_show(self: Fl_Select_BrowserPtr)
extern def Fl_Select_Browser_hide(self: Fl_Select_BrowserPtr)
extern def Fl_Select_Browser_activate(self: Fl_Select_BrowserPtr)
extern def Fl_Select_Browser_deactivate(self: Fl_Select_BrowserPtr)
extern def Fl_Select_Browser_redraw_label(self: Fl_Select_BrowserPtr)
extern def Fl_Select_Browser_resize(self: Fl_Select_BrowserPtr, x: int, y: int, width: int, height: int)
extern def Fl_Select_Browser_widget_resize(self: Fl_Select_BrowserPtr, x: int, y: int, width: int, height: int)
extern def Fl_Select_Browser_tooltip(self: Fl_Select_BrowserPtr) -> str
extern def Fl_Select_Browser_set_tooltip(self: Fl_Select_BrowserPtr, txt: str)
extern def Fl_Select_Browser_get_type(self: Fl_Select_BrowserPtr) -> int
extern def Fl_Select_Browser_set_type(self: Fl_Select_BrowserPtr, typ: int)
extern def Fl_Select_Browser_color(self: Fl_Select_BrowserPtr) -> t.CUInt32T
extern def Fl_Select_Browser_set_color(self: Fl_Select_BrowserPtr, color: t.CUInt32T)
extern def Fl_Select_Browser_measure_label(self: Fl_Select_BrowserPtr, a1: bytes, a2: bytes)
extern def Fl_Select_Browser_label_color(self: Fl_Select_BrowserPtr) -> t.CUInt32T
extern def Fl_Select_Browser_set_label_color(self: Fl_Select_BrowserPtr, color: t.CUInt32T)
extern def Fl_Select_Browser_label_font(self: Fl_Select_BrowserPtr) -> int
extern def Fl_Select_Browser_set_label_font(self: Fl_Select_BrowserPtr, font: int)
extern def Fl_Select_Browser_label_size(self: Fl_Select_BrowserPtr) -> int
extern def Fl_Select_Browser_set_label_size(self: Fl_Select_BrowserPtr, sz: int)
extern def Fl_Select_Browser_label_type(self: Fl_Select_BrowserPtr) -> int
extern def Fl_Select_Browser_set_label_type(self: Fl_Select_BrowserPtr, typ: int)
extern def Fl_Select_Browser_box(self: Fl_Select_BrowserPtr) -> int
extern def Fl_Select_Browser_set_box(self: Fl_Select_BrowserPtr, typ: int)
extern def Fl_Select_Browser_changed(self: Fl_Select_BrowserPtr) -> int
extern def Fl_Select_Browser_set_changed(self: Fl_Select_BrowserPtr)
extern def Fl_Select_Browser_clear_changed(self: Fl_Select_BrowserPtr)
extern def Fl_Select_Browser_align(self: Fl_Select_BrowserPtr) -> int
extern def Fl_Select_Browser_set_align(self: Fl_Select_BrowserPtr, typ: int)
extern def Fl_Select_Browser_delete(self: Fl_Select_BrowserPtr)
extern def Fl_Select_Browser_set_image(self: Fl_Select_BrowserPtr, a1: bytes)
extern def Fl_Select_Browser_handle(self: Fl_Select_BrowserPtr, cb: bytes, data: bytes)
extern def Fl_Select_Browser_handle_event(self: Fl_Select_BrowserPtr, event: int) -> int
extern def Fl_Select_Browser_draw(self: Fl_Select_BrowserPtr, cb: bytes, data: bytes)
extern def Fl_Select_Browser_resize_callback(self: Fl_Select_BrowserPtr, cb1: bytes, data: bytes)
extern def Fl_Select_Browser_set_when(self: Fl_Select_BrowserPtr, a1: int)
extern def Fl_Select_Browser_when(self: Fl_Select_BrowserPtr) -> int
extern def Fl_Select_Browser_image(self: Fl_Select_BrowserPtr) -> bytes
extern def Fl_Select_Browser_parent(self: Fl_Select_BrowserPtr) -> bytes
extern def Fl_Select_Browser_selection_color(self: Fl_Select_BrowserPtr) -> t.CUInt32T
extern def Fl_Select_Browser_set_selection_color(self: Fl_Select_BrowserPtr, color: t.CUInt32T)
extern def Fl_Select_Browser_do_callback(self: Fl_Select_BrowserPtr)
extern def Fl_Select_Browser_inside(self: Fl_Select_BrowserPtr, a1: bytes) -> int
extern def Fl_Select_Browser_window(self: Fl_Select_BrowserPtr) -> bytes
extern def Fl_Select_Browser_top_window(self: Fl_Select_BrowserPtr) -> bytes
extern def Fl_Select_Browser_takes_events(self: Fl_Select_BrowserPtr) -> int
extern def Fl_Select_Browser_user_data(self: Fl_Select_BrowserPtr) -> bytes
extern def Fl_Select_Browser_take_focus(self: Fl_Select_BrowserPtr) -> int
extern def Fl_Select_Browser_set_visible_focus(self: Fl_Select_BrowserPtr)
extern def Fl_Select_Browser_clear_visible_focus(self: Fl_Select_BrowserPtr)
extern def Fl_Select_Browser_visible_focus(self: Fl_Select_BrowserPtr, v: int)
extern def Fl_Select_Browser_has_visible_focus(self: Fl_Select_BrowserPtr) -> t.CUInt32T
extern def Fl_Select_Browser_set_user_data(self: Fl_Select_BrowserPtr, data: bytes)
extern def Fl_Select_Browser_draw_data(self: Fl_Select_BrowserPtr) -> bytes
extern def Fl_Select_Browser_handle_data(self: Fl_Select_BrowserPtr) -> bytes
extern def Fl_Select_Browser_set_draw_data(self: Fl_Select_BrowserPtr, data: bytes)
extern def Fl_Select_Browser_set_handle_data(self: Fl_Select_BrowserPtr, data: bytes)
extern def Fl_Select_Browser_damage(self: Fl_Select_BrowserPtr) -> t.CUInt8T
extern def Fl_Select_Browser_set_damage(self: Fl_Select_BrowserPtr, flag: t.CUInt8T)
extern def Fl_Select_Browser_set_damage_area(self: Fl_Select_BrowserPtr, flag: t.CUInt8T, x: int, y: int, w: int, h: int)
extern def Fl_Select_Browser_clear_damage(self: Fl_Select_BrowserPtr)
extern def Fl_Select_Browser_as_window(self: Fl_Select_BrowserPtr) -> bytes
extern def Fl_Select_Browser_as_group(self: Fl_Select_BrowserPtr) -> bytes
extern def Fl_Select_Browser_set_deimage(self: Fl_Select_BrowserPtr, a1: bytes)
extern def Fl_Select_Browser_deimage(self: Fl_Select_BrowserPtr) -> bytes
extern def Fl_Select_Browser_set_callback(self: Fl_Select_BrowserPtr, a1: bytes, a2: bytes)
extern def Fl_Select_Browser_visible(self: Fl_Select_BrowserPtr) -> int
extern def Fl_Select_Browser_visible_r(self: Fl_Select_BrowserPtr) -> int
extern def Fl_Select_Browser_active(self: Fl_Select_BrowserPtr) -> t.CUInt32T
extern def Fl_Select_Browser_active_r(self: Fl_Select_BrowserPtr) -> int
extern def Fl_Select_Browser_callback(self: Fl_Select_BrowserPtr) -> bytes
extern def Fl_Select_Browser_set_deletion_callback(self: Fl_Select_BrowserPtr, cb1: bytes, data: bytes)
extern def Fl_Select_Browser_from_dyn_ptr(ptr: Fl_WidgetPtr) -> Fl_Select_BrowserPtr
extern def Fl_Select_Browser_from_derived_dyn_ptr(ptr: Fl_WidgetPtr) -> Fl_Select_BrowserPtr
extern def Fl_Select_Browser_super_draw(ptr: Fl_WidgetPtr, flag: int)
extern def Fl_Select_Browser_super_draw_first(ptr: Fl_WidgetPtr, flag: int)
extern def Fl_Select_Browser_super_handle_first(ptr: Fl_WidgetPtr, flag: int)
# ----- Fl_Select_Browser (browser_declare) -----
extern def Fl_Select_Browser_value(self: Fl_Select_BrowserPtr) -> int
extern def Fl_Select_Browser_remove(self: Fl_Select_BrowserPtr, line: int)
extern def Fl_Select_Browser_add(self: Fl_Select_BrowserPtr, newtext: str)
extern def Fl_Select_Browser_insert(self: Fl_Select_BrowserPtr, line: int, newtext: str)
extern def Fl_Select_Browser_move(self: Fl_Select_BrowserPtr, to: int, from_: int)
extern def Fl_Select_Browser_swap(self: Fl_Select_BrowserPtr, a: int, b: int)
extern def Fl_Select_Browser_clear(self: Fl_Select_BrowserPtr)
extern def Fl_Select_Browser_size(self: Fl_Select_BrowserPtr) -> int
extern def Fl_Select_Browser_select(self: Fl_Select_BrowserPtr, line: int) -> int
extern def Fl_Select_Browser_select_ext(self: Fl_Select_BrowserPtr, line: int, val: int) -> int
extern def Fl_Select_Browser_selected(self: Fl_Select_BrowserPtr, line: int) -> int
extern def Fl_Select_Browser_text(self: Fl_Select_BrowserPtr, line: int) -> str
extern def Fl_Select_Browser_set_text(self: Fl_Select_BrowserPtr, line: int, newtext: str)
extern def Fl_Select_Browser_load_file(self: Fl_Select_BrowserPtr, file: str)
extern def Fl_Select_Browser_text_size(self: Fl_Select_BrowserPtr) -> int
extern def Fl_Select_Browser_set_text_size(self: Fl_Select_BrowserPtr, s: int)
extern def Fl_Select_Browser_set_icon(self: Fl_Select_BrowserPtr, line: int, icon: bytes)
extern def Fl_Select_Browser_icon(self: Fl_Select_BrowserPtr, line: int) -> bytes
extern def Fl_Select_Browser_remove_icon(self: Fl_Select_BrowserPtr, line: int)
extern def Fl_Select_Browser_topline(self: Fl_Select_BrowserPtr, line: int)
extern def Fl_Select_Browser_is_topline(self: Fl_Select_BrowserPtr) -> int
extern def Fl_Select_Browser_bottomline(self: Fl_Select_BrowserPtr, line: int)
extern def Fl_Select_Browser_middleline(self: Fl_Select_BrowserPtr, line: int)
extern def Fl_Select_Browser_format_char(self: Fl_Select_BrowserPtr) -> char
extern def Fl_Select_Browser_set_format_char(self: Fl_Select_BrowserPtr, c: char)
extern def Fl_Select_Browser_column_char(self: Fl_Select_BrowserPtr) -> char
extern def Fl_Select_Browser_set_column_char(self: Fl_Select_BrowserPtr, c: char)
extern def Fl_Select_Browser_column_widths(self: Fl_Select_BrowserPtr) -> bytes
extern def Fl_Select_Browser_set_column_widths(self: Fl_Select_BrowserPtr, arr: bytes)
extern def Fl_Select_Browser_displayed(self: Fl_Select_BrowserPtr, line: int) -> int
extern def Fl_Select_Browser_make_visible(self: Fl_Select_BrowserPtr, line: int)
extern def Fl_Select_Browser_position(self: Fl_Select_BrowserPtr) -> int
extern def Fl_Select_Browser_set_position(self: Fl_Select_BrowserPtr, pos: int)
extern def Fl_Select_Browser_hposition(self: Fl_Select_BrowserPtr) -> int
extern def Fl_Select_Browser_set_hposition(self: Fl_Select_BrowserPtr, a1: int)
extern def Fl_Select_Browser_has_scrollbar(self: Fl_Select_BrowserPtr) -> t.CUInt8T
extern def Fl_Select_Browser_set_has_scrollbar(self: Fl_Select_BrowserPtr, mode: t.CUInt8T)
extern def Fl_Select_Browser_scrollbar_size(self: Fl_Select_BrowserPtr) -> int
extern def Fl_Select_Browser_set_scrollbar_size(self: Fl_Select_BrowserPtr, newSize: int)
extern def Fl_Select_Browser_sort(self: Fl_Select_BrowserPtr)
extern def Fl_Select_Browser_scrollbar(self: Fl_Select_BrowserPtr) -> bytes
extern def Fl_Select_Browser_hscrollbar(self: Fl_Select_BrowserPtr) -> bytes
extern def Fl_Select_Browser_data(self: Fl_Select_BrowserPtr, line: int) -> bytes
extern def Fl_Select_Browser_set_data(self: Fl_Select_BrowserPtr, line: int, data: bytes)
extern def Fl_Select_Browser_hide_line(self: Fl_Select_BrowserPtr, line: int)
# ----- Fl_Multi_Browser (widget_declare) -----
extern def Fl_Multi_Browser_new(x: int, y: int, width: int, height: int, title: str) -> Fl_Multi_BrowserPtr
extern def Fl_Multi_Browser_x(self: Fl_Multi_BrowserPtr) -> int
extern def Fl_Multi_Browser_y(self: Fl_Multi_BrowserPtr) -> int
extern def Fl_Multi_Browser_width(self: Fl_Multi_BrowserPtr) -> int
extern def Fl_Multi_Browser_height(self: Fl_Multi_BrowserPtr) -> int
extern def Fl_Multi_Browser_label(self: Fl_Multi_BrowserPtr) -> str
extern def Fl_Multi_Browser_set_label(self: Fl_Multi_BrowserPtr, title: str)
extern def Fl_Multi_Browser_redraw(self: Fl_Multi_BrowserPtr)
extern def Fl_Multi_Browser_show(self: Fl_Multi_BrowserPtr)
extern def Fl_Multi_Browser_hide(self: Fl_Multi_BrowserPtr)
extern def Fl_Multi_Browser_activate(self: Fl_Multi_BrowserPtr)
extern def Fl_Multi_Browser_deactivate(self: Fl_Multi_BrowserPtr)
extern def Fl_Multi_Browser_redraw_label(self: Fl_Multi_BrowserPtr)
extern def Fl_Multi_Browser_resize(self: Fl_Multi_BrowserPtr, x: int, y: int, width: int, height: int)
extern def Fl_Multi_Browser_widget_resize(self: Fl_Multi_BrowserPtr, x: int, y: int, width: int, height: int)
extern def Fl_Multi_Browser_tooltip(self: Fl_Multi_BrowserPtr) -> str
extern def Fl_Multi_Browser_set_tooltip(self: Fl_Multi_BrowserPtr, txt: str)
extern def Fl_Multi_Browser_get_type(self: Fl_Multi_BrowserPtr) -> int
extern def Fl_Multi_Browser_set_type(self: Fl_Multi_BrowserPtr, typ: int)
extern def Fl_Multi_Browser_color(self: Fl_Multi_BrowserPtr) -> t.CUInt32T
extern def Fl_Multi_Browser_set_color(self: Fl_Multi_BrowserPtr, color: t.CUInt32T)
extern def Fl_Multi_Browser_measure_label(self: Fl_Multi_BrowserPtr, a1: bytes, a2: bytes)
extern def Fl_Multi_Browser_label_color(self: Fl_Multi_BrowserPtr) -> t.CUInt32T
extern def Fl_Multi_Browser_set_label_color(self: Fl_Multi_BrowserPtr, color: t.CUInt32T)
extern def Fl_Multi_Browser_label_font(self: Fl_Multi_BrowserPtr) -> int
extern def Fl_Multi_Browser_set_label_font(self: Fl_Multi_BrowserPtr, font: int)
extern def Fl_Multi_Browser_label_size(self: Fl_Multi_BrowserPtr) -> int
extern def Fl_Multi_Browser_set_label_size(self: Fl_Multi_BrowserPtr, sz: int)
extern def Fl_Multi_Browser_label_type(self: Fl_Multi_BrowserPtr) -> int
extern def Fl_Multi_Browser_set_label_type(self: Fl_Multi_BrowserPtr, typ: int)
extern def Fl_Multi_Browser_box(self: Fl_Multi_BrowserPtr) -> int
extern def Fl_Multi_Browser_set_box(self: Fl_Multi_BrowserPtr, typ: int)
extern def Fl_Multi_Browser_changed(self: Fl_Multi_BrowserPtr) -> int
extern def Fl_Multi_Browser_set_changed(self: Fl_Multi_BrowserPtr)
extern def Fl_Multi_Browser_clear_changed(self: Fl_Multi_BrowserPtr)
extern def Fl_Multi_Browser_align(self: Fl_Multi_BrowserPtr) -> int
extern def Fl_Multi_Browser_set_align(self: Fl_Multi_BrowserPtr, typ: int)
extern def Fl_Multi_Browser_delete(self: Fl_Multi_BrowserPtr)
extern def Fl_Multi_Browser_set_image(self: Fl_Multi_BrowserPtr, a1: bytes)
extern def Fl_Multi_Browser_handle(self: Fl_Multi_BrowserPtr, cb: bytes, data: bytes)
extern def Fl_Multi_Browser_handle_event(self: Fl_Multi_BrowserPtr, event: int) -> int
extern def Fl_Multi_Browser_draw(self: Fl_Multi_BrowserPtr, cb: bytes, data: bytes)
extern def Fl_Multi_Browser_resize_callback(self: Fl_Multi_BrowserPtr, cb1: bytes, data: bytes)
extern def Fl_Multi_Browser_set_when(self: Fl_Multi_BrowserPtr, a1: int)
extern def Fl_Multi_Browser_when(self: Fl_Multi_BrowserPtr) -> int
extern def Fl_Multi_Browser_image(self: Fl_Multi_BrowserPtr) -> bytes
extern def Fl_Multi_Browser_parent(self: Fl_Multi_BrowserPtr) -> bytes
extern def Fl_Multi_Browser_selection_color(self: Fl_Multi_BrowserPtr) -> t.CUInt32T
extern def Fl_Multi_Browser_set_selection_color(self: Fl_Multi_BrowserPtr, color: t.CUInt32T)
extern def Fl_Multi_Browser_do_callback(self: Fl_Multi_BrowserPtr)
extern def Fl_Multi_Browser_inside(self: Fl_Multi_BrowserPtr, a1: bytes) -> int
extern def Fl_Multi_Browser_window(self: Fl_Multi_BrowserPtr) -> bytes
extern def Fl_Multi_Browser_top_window(self: Fl_Multi_BrowserPtr) -> bytes
extern def Fl_Multi_Browser_takes_events(self: Fl_Multi_BrowserPtr) -> int
extern def Fl_Multi_Browser_user_data(self: Fl_Multi_BrowserPtr) -> bytes
extern def Fl_Multi_Browser_take_focus(self: Fl_Multi_BrowserPtr) -> int
extern def Fl_Multi_Browser_set_visible_focus(self: Fl_Multi_BrowserPtr)
extern def Fl_Multi_Browser_clear_visible_focus(self: Fl_Multi_BrowserPtr)
extern def Fl_Multi_Browser_visible_focus(self: Fl_Multi_BrowserPtr, v: int)
extern def Fl_Multi_Browser_has_visible_focus(self: Fl_Multi_BrowserPtr) -> t.CUInt32T
extern def Fl_Multi_Browser_set_user_data(self: Fl_Multi_BrowserPtr, data: bytes)
extern def Fl_Multi_Browser_draw_data(self: Fl_Multi_BrowserPtr) -> bytes
extern def Fl_Multi_Browser_handle_data(self: Fl_Multi_BrowserPtr) -> bytes
extern def Fl_Multi_Browser_set_draw_data(self: Fl_Multi_BrowserPtr, data: bytes)
extern def Fl_Multi_Browser_set_handle_data(self: Fl_Multi_BrowserPtr, data: bytes)
extern def Fl_Multi_Browser_damage(self: Fl_Multi_BrowserPtr) -> t.CUInt8T
extern def Fl_Multi_Browser_set_damage(self: Fl_Multi_BrowserPtr, flag: t.CUInt8T)
extern def Fl_Multi_Browser_set_damage_area(self: Fl_Multi_BrowserPtr, flag: t.CUInt8T, x: int, y: int, w: int, h: int)
extern def Fl_Multi_Browser_clear_damage(self: Fl_Multi_BrowserPtr)
extern def Fl_Multi_Browser_as_window(self: Fl_Multi_BrowserPtr) -> bytes
extern def Fl_Multi_Browser_as_group(self: Fl_Multi_BrowserPtr) -> bytes
extern def Fl_Multi_Browser_set_deimage(self: Fl_Multi_BrowserPtr, a1: bytes)
extern def Fl_Multi_Browser_deimage(self: Fl_Multi_BrowserPtr) -> bytes
extern def Fl_Multi_Browser_set_callback(self: Fl_Multi_BrowserPtr, a1: bytes, a2: bytes)
extern def Fl_Multi_Browser_visible(self: Fl_Multi_BrowserPtr) -> int
extern def Fl_Multi_Browser_visible_r(self: Fl_Multi_BrowserPtr) -> int
extern def Fl_Multi_Browser_active(self: Fl_Multi_BrowserPtr) -> t.CUInt32T
extern def Fl_Multi_Browser_active_r(self: Fl_Multi_BrowserPtr) -> int
extern def Fl_Multi_Browser_callback(self: Fl_Multi_BrowserPtr) -> bytes
extern def Fl_Multi_Browser_set_deletion_callback(self: Fl_Multi_BrowserPtr, cb1: bytes, data: bytes)
extern def Fl_Multi_Browser_from_dyn_ptr(ptr: Fl_WidgetPtr) -> Fl_Multi_BrowserPtr
extern def Fl_Multi_Browser_from_derived_dyn_ptr(ptr: Fl_WidgetPtr) -> Fl_Multi_BrowserPtr
extern def Fl_Multi_Browser_super_draw(ptr: Fl_WidgetPtr, flag: int)
extern def Fl_Multi_Browser_super_draw_first(ptr: Fl_WidgetPtr, flag: int)
extern def Fl_Multi_Browser_super_handle_first(ptr: Fl_WidgetPtr, flag: int)
# ----- Fl_Multi_Browser (browser_declare) -----
extern def Fl_Multi_Browser_value(self: Fl_Multi_BrowserPtr) -> int
extern def Fl_Multi_Browser_remove(self: Fl_Multi_BrowserPtr, line: int)
extern def Fl_Multi_Browser_add(self: Fl_Multi_BrowserPtr, newtext: str)
extern def Fl_Multi_Browser_insert(self: Fl_Multi_BrowserPtr, line: int, newtext: str)
extern def Fl_Multi_Browser_move(self: Fl_Multi_BrowserPtr, to: int, from_: int)
extern def Fl_Multi_Browser_swap(self: Fl_Multi_BrowserPtr, a: int, b: int)
extern def Fl_Multi_Browser_clear(self: Fl_Multi_BrowserPtr)
extern def Fl_Multi_Browser_size(self: Fl_Multi_BrowserPtr) -> int
extern def Fl_Multi_Browser_select(self: Fl_Multi_BrowserPtr, line: int) -> int
extern def Fl_Multi_Browser_select_ext(self: Fl_Multi_BrowserPtr, line: int, val: int) -> int
extern def Fl_Multi_Browser_selected(self: Fl_Multi_BrowserPtr, line: int) -> int
extern def Fl_Multi_Browser_text(self: Fl_Multi_BrowserPtr, line: int) -> str
extern def Fl_Multi_Browser_set_text(self: Fl_Multi_BrowserPtr, line: int, newtext: str)
extern def Fl_Multi_Browser_load_file(self: Fl_Multi_BrowserPtr, file: str)
extern def Fl_Multi_Browser_text_size(self: Fl_Multi_BrowserPtr) -> int
extern def Fl_Multi_Browser_set_text_size(self: Fl_Multi_BrowserPtr, s: int)
extern def Fl_Multi_Browser_set_icon(self: Fl_Multi_BrowserPtr, line: int, icon: bytes)
extern def Fl_Multi_Browser_icon(self: Fl_Multi_BrowserPtr, line: int) -> bytes
extern def Fl_Multi_Browser_remove_icon(self: Fl_Multi_BrowserPtr, line: int)
extern def Fl_Multi_Browser_topline(self: Fl_Multi_BrowserPtr, line: int)
extern def Fl_Multi_Browser_is_topline(self: Fl_Multi_BrowserPtr) -> int
extern def Fl_Multi_Browser_bottomline(self: Fl_Multi_BrowserPtr, line: int)
extern def Fl_Multi_Browser_middleline(self: Fl_Multi_BrowserPtr, line: int)
extern def Fl_Multi_Browser_format_char(self: Fl_Multi_BrowserPtr) -> char
extern def Fl_Multi_Browser_set_format_char(self: Fl_Multi_BrowserPtr, c: char)
extern def Fl_Multi_Browser_column_char(self: Fl_Multi_BrowserPtr) -> char
extern def Fl_Multi_Browser_set_column_char(self: Fl_Multi_BrowserPtr, c: char)
extern def Fl_Multi_Browser_column_widths(self: Fl_Multi_BrowserPtr) -> bytes
extern def Fl_Multi_Browser_set_column_widths(self: Fl_Multi_BrowserPtr, arr: bytes)
extern def Fl_Multi_Browser_displayed(self: Fl_Multi_BrowserPtr, line: int) -> int
extern def Fl_Multi_Browser_make_visible(self: Fl_Multi_BrowserPtr, line: int)
extern def Fl_Multi_Browser_position(self: Fl_Multi_BrowserPtr) -> int
extern def Fl_Multi_Browser_set_position(self: Fl_Multi_BrowserPtr, pos: int)
extern def Fl_Multi_Browser_hposition(self: Fl_Multi_BrowserPtr) -> int
extern def Fl_Multi_Browser_set_hposition(self: Fl_Multi_BrowserPtr, a1: int)
extern def Fl_Multi_Browser_has_scrollbar(self: Fl_Multi_BrowserPtr) -> t.CUInt8T
extern def Fl_Multi_Browser_set_has_scrollbar(self: Fl_Multi_BrowserPtr, mode: t.CUInt8T)
extern def Fl_Multi_Browser_scrollbar_size(self: Fl_Multi_BrowserPtr) -> int
extern def Fl_Multi_Browser_set_scrollbar_size(self: Fl_Multi_BrowserPtr, newSize: int)
extern def Fl_Multi_Browser_sort(self: Fl_Multi_BrowserPtr)
extern def Fl_Multi_Browser_scrollbar(self: Fl_Multi_BrowserPtr) -> bytes
extern def Fl_Multi_Browser_hscrollbar(self: Fl_Multi_BrowserPtr) -> bytes
extern def Fl_Multi_Browser_data(self: Fl_Multi_BrowserPtr, line: int) -> bytes
extern def Fl_Multi_Browser_set_data(self: Fl_Multi_BrowserPtr, line: int, data: bytes)
extern def Fl_Multi_Browser_hide_line(self: Fl_Multi_BrowserPtr, line: int)
# ----- Fl_File_Browser (widget_declare) -----
extern def Fl_File_Browser_new(x: int, y: int, width: int, height: int, title: str) -> Fl_File_BrowserPtr
extern def Fl_File_Browser_x(self: Fl_File_BrowserPtr) -> int
extern def Fl_File_Browser_y(self: Fl_File_BrowserPtr) -> int
extern def Fl_File_Browser_width(self: Fl_File_BrowserPtr) -> int
extern def Fl_File_Browser_height(self: Fl_File_BrowserPtr) -> int
extern def Fl_File_Browser_label(self: Fl_File_BrowserPtr) -> str
extern def Fl_File_Browser_set_label(self: Fl_File_BrowserPtr, title: str)
extern def Fl_File_Browser_redraw(self: Fl_File_BrowserPtr)
extern def Fl_File_Browser_show(self: Fl_File_BrowserPtr)
extern def Fl_File_Browser_hide(self: Fl_File_BrowserPtr)
extern def Fl_File_Browser_activate(self: Fl_File_BrowserPtr)
extern def Fl_File_Browser_deactivate(self: Fl_File_BrowserPtr)
extern def Fl_File_Browser_redraw_label(self: Fl_File_BrowserPtr)
extern def Fl_File_Browser_resize(self: Fl_File_BrowserPtr, x: int, y: int, width: int, height: int)
extern def Fl_File_Browser_widget_resize(self: Fl_File_BrowserPtr, x: int, y: int, width: int, height: int)
extern def Fl_File_Browser_tooltip(self: Fl_File_BrowserPtr) -> str
extern def Fl_File_Browser_set_tooltip(self: Fl_File_BrowserPtr, txt: str)
extern def Fl_File_Browser_get_type(self: Fl_File_BrowserPtr) -> int
extern def Fl_File_Browser_set_type(self: Fl_File_BrowserPtr, typ: int)
extern def Fl_File_Browser_color(self: Fl_File_BrowserPtr) -> t.CUInt32T
extern def Fl_File_Browser_set_color(self: Fl_File_BrowserPtr, color: t.CUInt32T)
extern def Fl_File_Browser_measure_label(self: Fl_File_BrowserPtr, a1: bytes, a2: bytes)
extern def Fl_File_Browser_label_color(self: Fl_File_BrowserPtr) -> t.CUInt32T
extern def Fl_File_Browser_set_label_color(self: Fl_File_BrowserPtr, color: t.CUInt32T)
extern def Fl_File_Browser_label_font(self: Fl_File_BrowserPtr) -> int
extern def Fl_File_Browser_set_label_font(self: Fl_File_BrowserPtr, font: int)
extern def Fl_File_Browser_label_size(self: Fl_File_BrowserPtr) -> int
extern def Fl_File_Browser_set_label_size(self: Fl_File_BrowserPtr, sz: int)
extern def Fl_File_Browser_label_type(self: Fl_File_BrowserPtr) -> int
extern def Fl_File_Browser_set_label_type(self: Fl_File_BrowserPtr, typ: int)
extern def Fl_File_Browser_box(self: Fl_File_BrowserPtr) -> int
extern def Fl_File_Browser_set_box(self: Fl_File_BrowserPtr, typ: int)
extern def Fl_File_Browser_changed(self: Fl_File_BrowserPtr) -> int
extern def Fl_File_Browser_set_changed(self: Fl_File_BrowserPtr)
extern def Fl_File_Browser_clear_changed(self: Fl_File_BrowserPtr)
extern def Fl_File_Browser_align(self: Fl_File_BrowserPtr) -> int
extern def Fl_File_Browser_set_align(self: Fl_File_BrowserPtr, typ: int)
extern def Fl_File_Browser_delete(self: Fl_File_BrowserPtr)
extern def Fl_File_Browser_set_image(self: Fl_File_BrowserPtr, a1: bytes)
extern def Fl_File_Browser_handle(self: Fl_File_BrowserPtr, cb: bytes, data: bytes)
extern def Fl_File_Browser_handle_event(self: Fl_File_BrowserPtr, event: int) -> int
extern def Fl_File_Browser_draw(self: Fl_File_BrowserPtr, cb: bytes, data: bytes)
extern def Fl_File_Browser_resize_callback(self: Fl_File_BrowserPtr, cb1: bytes, data: bytes)
extern def Fl_File_Browser_set_when(self: Fl_File_BrowserPtr, a1: int)
extern def Fl_File_Browser_when(self: Fl_File_BrowserPtr) -> int
extern def Fl_File_Browser_image(self: Fl_File_BrowserPtr) -> bytes
extern def Fl_File_Browser_parent(self: Fl_File_BrowserPtr) -> bytes
extern def Fl_File_Browser_selection_color(self: Fl_File_BrowserPtr) -> t.CUInt32T
extern def Fl_File_Browser_set_selection_color(self: Fl_File_BrowserPtr, color: t.CUInt32T)
extern def Fl_File_Browser_do_callback(self: Fl_File_BrowserPtr)
extern def Fl_File_Browser_inside(self: Fl_File_BrowserPtr, a1: bytes) -> int
extern def Fl_File_Browser_window(self: Fl_File_BrowserPtr) -> bytes
extern def Fl_File_Browser_top_window(self: Fl_File_BrowserPtr) -> bytes
extern def Fl_File_Browser_takes_events(self: Fl_File_BrowserPtr) -> int
extern def Fl_File_Browser_user_data(self: Fl_File_BrowserPtr) -> bytes
extern def Fl_File_Browser_take_focus(self: Fl_File_BrowserPtr) -> int
extern def Fl_File_Browser_set_visible_focus(self: Fl_File_BrowserPtr)
extern def Fl_File_Browser_clear_visible_focus(self: Fl_File_BrowserPtr)
extern def Fl_File_Browser_visible_focus(self: Fl_File_BrowserPtr, v: int)
extern def Fl_File_Browser_has_visible_focus(self: Fl_File_BrowserPtr) -> t.CUInt32T
extern def Fl_File_Browser_set_user_data(self: Fl_File_BrowserPtr, data: bytes)
extern def Fl_File_Browser_draw_data(self: Fl_File_BrowserPtr) -> bytes
extern def Fl_File_Browser_handle_data(self: Fl_File_BrowserPtr) -> bytes
extern def Fl_File_Browser_set_draw_data(self: Fl_File_BrowserPtr, data: bytes)
extern def Fl_File_Browser_set_handle_data(self: Fl_File_BrowserPtr, data: bytes)
extern def Fl_File_Browser_damage(self: Fl_File_BrowserPtr) -> t.CUInt8T
extern def Fl_File_Browser_set_damage(self: Fl_File_BrowserPtr, flag: t.CUInt8T)
extern def Fl_File_Browser_set_damage_area(self: Fl_File_BrowserPtr, flag: t.CUInt8T, x: int, y: int, w: int, h: int)
extern def Fl_File_Browser_clear_damage(self: Fl_File_BrowserPtr)
extern def Fl_File_Browser_as_window(self: Fl_File_BrowserPtr) -> bytes
extern def Fl_File_Browser_as_group(self: Fl_File_BrowserPtr) -> bytes
extern def Fl_File_Browser_set_deimage(self: Fl_File_BrowserPtr, a1: bytes)
extern def Fl_File_Browser_deimage(self: Fl_File_BrowserPtr) -> bytes
extern def Fl_File_Browser_set_callback(self: Fl_File_BrowserPtr, a1: bytes, a2: bytes)
extern def Fl_File_Browser_visible(self: Fl_File_BrowserPtr) -> int
extern def Fl_File_Browser_visible_r(self: Fl_File_BrowserPtr) -> int
extern def Fl_File_Browser_active(self: Fl_File_BrowserPtr) -> t.CUInt32T
extern def Fl_File_Browser_active_r(self: Fl_File_BrowserPtr) -> int
extern def Fl_File_Browser_callback(self: Fl_File_BrowserPtr) -> bytes
extern def Fl_File_Browser_set_deletion_callback(self: Fl_File_BrowserPtr, cb1: bytes, data: bytes)
extern def Fl_File_Browser_from_dyn_ptr(ptr: Fl_WidgetPtr) -> Fl_File_BrowserPtr
extern def Fl_File_Browser_from_derived_dyn_ptr(ptr: Fl_WidgetPtr) -> Fl_File_BrowserPtr
extern def Fl_File_Browser_super_draw(ptr: Fl_WidgetPtr, flag: int)
extern def Fl_File_Browser_super_draw_first(ptr: Fl_WidgetPtr, flag: int)
extern def Fl_File_Browser_super_handle_first(ptr: Fl_WidgetPtr, flag: int)
# ----- Fl_File_Browser (browser_declare) -----
extern def Fl_File_Browser_value(self: Fl_File_BrowserPtr) -> int
extern def Fl_File_Browser_remove(self: Fl_File_BrowserPtr, line: int)
extern def Fl_File_Browser_add(self: Fl_File_BrowserPtr, newtext: str)
extern def Fl_File_Browser_insert(self: Fl_File_BrowserPtr, line: int, newtext: str)
extern def Fl_File_Browser_move(self: Fl_File_BrowserPtr, to: int, from_: int)
extern def Fl_File_Browser_swap(self: Fl_File_BrowserPtr, a: int, b: int)
extern def Fl_File_Browser_clear(self: Fl_File_BrowserPtr)
extern def Fl_File_Browser_size(self: Fl_File_BrowserPtr) -> int
extern def Fl_File_Browser_select(self: Fl_File_BrowserPtr, line: int) -> int
extern def Fl_File_Browser_select_ext(self: Fl_File_BrowserPtr, line: int, val: int) -> int
extern def Fl_File_Browser_selected(self: Fl_File_BrowserPtr, line: int) -> int
extern def Fl_File_Browser_text(self: Fl_File_BrowserPtr, line: int) -> str
extern def Fl_File_Browser_set_text(self: Fl_File_BrowserPtr, line: int, newtext: str)
extern def Fl_File_Browser_load_file(self: Fl_File_BrowserPtr, file: str)
extern def Fl_File_Browser_text_size(self: Fl_File_BrowserPtr) -> int
extern def Fl_File_Browser_set_text_size(self: Fl_File_BrowserPtr, s: int)
extern def Fl_File_Browser_set_icon(self: Fl_File_BrowserPtr, line: int, icon: bytes)
extern def Fl_File_Browser_icon(self: Fl_File_BrowserPtr, line: int) -> bytes
extern def Fl_File_Browser_remove_icon(self: Fl_File_BrowserPtr, line: int)
extern def Fl_File_Browser_topline(self: Fl_File_BrowserPtr, line: int)
extern def Fl_File_Browser_is_topline(self: Fl_File_BrowserPtr) -> int
extern def Fl_File_Browser_bottomline(self: Fl_File_BrowserPtr, line: int)
extern def Fl_File_Browser_middleline(self: Fl_File_BrowserPtr, line: int)
extern def Fl_File_Browser_format_char(self: Fl_File_BrowserPtr) -> char
extern def Fl_File_Browser_set_format_char(self: Fl_File_BrowserPtr, c: char)
extern def Fl_File_Browser_column_char(self: Fl_File_BrowserPtr) -> char
extern def Fl_File_Browser_set_column_char(self: Fl_File_BrowserPtr, c: char)
extern def Fl_File_Browser_column_widths(self: Fl_File_BrowserPtr) -> bytes
extern def Fl_File_Browser_set_column_widths(self: Fl_File_BrowserPtr, arr: bytes)
extern def Fl_File_Browser_displayed(self: Fl_File_BrowserPtr, line: int) -> int
extern def Fl_File_Browser_make_visible(self: Fl_File_BrowserPtr, line: int)
extern def Fl_File_Browser_position(self: Fl_File_BrowserPtr) -> int
extern def Fl_File_Browser_set_position(self: Fl_File_BrowserPtr, pos: int)
extern def Fl_File_Browser_hposition(self: Fl_File_BrowserPtr) -> int
extern def Fl_File_Browser_set_hposition(self: Fl_File_BrowserPtr, a1: int)
extern def Fl_File_Browser_has_scrollbar(self: Fl_File_BrowserPtr) -> t.CUInt8T
extern def Fl_File_Browser_set_has_scrollbar(self: Fl_File_BrowserPtr, mode: t.CUInt8T)
extern def Fl_File_Browser_scrollbar_size(self: Fl_File_BrowserPtr) -> int
extern def Fl_File_Browser_set_scrollbar_size(self: Fl_File_BrowserPtr, newSize: int)
extern def Fl_File_Browser_sort(self: Fl_File_BrowserPtr)
extern def Fl_File_Browser_scrollbar(self: Fl_File_BrowserPtr) -> bytes
extern def Fl_File_Browser_hscrollbar(self: Fl_File_BrowserPtr) -> bytes
extern def Fl_File_Browser_data(self: Fl_File_BrowserPtr, line: int) -> bytes
extern def Fl_File_Browser_set_data(self: Fl_File_BrowserPtr, line: int, data: bytes)
extern def Fl_File_Browser_hide_line(self: Fl_File_BrowserPtr, line: int)
# ----- Fl_Check_Browser (widget_declare) -----
extern def Fl_Check_Browser_new(x: int, y: int, width: int, height: int, title: str) -> Fl_Check_BrowserPtr
extern def Fl_Check_Browser_x(self: Fl_Check_BrowserPtr) -> int
extern def Fl_Check_Browser_y(self: Fl_Check_BrowserPtr) -> int
extern def Fl_Check_Browser_width(self: Fl_Check_BrowserPtr) -> int
extern def Fl_Check_Browser_height(self: Fl_Check_BrowserPtr) -> int
extern def Fl_Check_Browser_label(self: Fl_Check_BrowserPtr) -> str
extern def Fl_Check_Browser_set_label(self: Fl_Check_BrowserPtr, title: str)
extern def Fl_Check_Browser_redraw(self: Fl_Check_BrowserPtr)
extern def Fl_Check_Browser_show(self: Fl_Check_BrowserPtr)
extern def Fl_Check_Browser_hide(self: Fl_Check_BrowserPtr)
extern def Fl_Check_Browser_activate(self: Fl_Check_BrowserPtr)
extern def Fl_Check_Browser_deactivate(self: Fl_Check_BrowserPtr)
extern def Fl_Check_Browser_redraw_label(self: Fl_Check_BrowserPtr)
extern def Fl_Check_Browser_resize(self: Fl_Check_BrowserPtr, x: int, y: int, width: int, height: int)
extern def Fl_Check_Browser_widget_resize(self: Fl_Check_BrowserPtr, x: int, y: int, width: int, height: int)
extern def Fl_Check_Browser_tooltip(self: Fl_Check_BrowserPtr) -> str
extern def Fl_Check_Browser_set_tooltip(self: Fl_Check_BrowserPtr, txt: str)
extern def Fl_Check_Browser_get_type(self: Fl_Check_BrowserPtr) -> int
extern def Fl_Check_Browser_set_type(self: Fl_Check_BrowserPtr, typ: int)
extern def Fl_Check_Browser_color(self: Fl_Check_BrowserPtr) -> t.CUInt32T
extern def Fl_Check_Browser_set_color(self: Fl_Check_BrowserPtr, color: t.CUInt32T)
extern def Fl_Check_Browser_measure_label(self: Fl_Check_BrowserPtr, a1: bytes, a2: bytes)
extern def Fl_Check_Browser_label_color(self: Fl_Check_BrowserPtr) -> t.CUInt32T
extern def Fl_Check_Browser_set_label_color(self: Fl_Check_BrowserPtr, color: t.CUInt32T)
extern def Fl_Check_Browser_label_font(self: Fl_Check_BrowserPtr) -> int
extern def Fl_Check_Browser_set_label_font(self: Fl_Check_BrowserPtr, font: int)
extern def Fl_Check_Browser_label_size(self: Fl_Check_BrowserPtr) -> int
extern def Fl_Check_Browser_set_label_size(self: Fl_Check_BrowserPtr, sz: int)
extern def Fl_Check_Browser_label_type(self: Fl_Check_BrowserPtr) -> int
extern def Fl_Check_Browser_set_label_type(self: Fl_Check_BrowserPtr, typ: int)
extern def Fl_Check_Browser_box(self: Fl_Check_BrowserPtr) -> int
extern def Fl_Check_Browser_set_box(self: Fl_Check_BrowserPtr, typ: int)
extern def Fl_Check_Browser_changed(self: Fl_Check_BrowserPtr) -> int
extern def Fl_Check_Browser_set_changed(self: Fl_Check_BrowserPtr)
extern def Fl_Check_Browser_clear_changed(self: Fl_Check_BrowserPtr)
extern def Fl_Check_Browser_align(self: Fl_Check_BrowserPtr) -> int
extern def Fl_Check_Browser_set_align(self: Fl_Check_BrowserPtr, typ: int)
extern def Fl_Check_Browser_delete(self: Fl_Check_BrowserPtr)
extern def Fl_Check_Browser_set_image(self: Fl_Check_BrowserPtr, a1: bytes)
extern def Fl_Check_Browser_handle(self: Fl_Check_BrowserPtr, cb: bytes, data: bytes)
extern def Fl_Check_Browser_handle_event(self: Fl_Check_BrowserPtr, event: int) -> int
extern def Fl_Check_Browser_draw(self: Fl_Check_BrowserPtr, cb: bytes, data: bytes)
extern def Fl_Check_Browser_resize_callback(self: Fl_Check_BrowserPtr, cb1: bytes, data: bytes)
extern def Fl_Check_Browser_set_when(self: Fl_Check_BrowserPtr, a1: int)
extern def Fl_Check_Browser_when(self: Fl_Check_BrowserPtr) -> int
extern def Fl_Check_Browser_image(self: Fl_Check_BrowserPtr) -> bytes
extern def Fl_Check_Browser_parent(self: Fl_Check_BrowserPtr) -> bytes
extern def Fl_Check_Browser_selection_color(self: Fl_Check_BrowserPtr) -> t.CUInt32T
extern def Fl_Check_Browser_set_selection_color(self: Fl_Check_BrowserPtr, color: t.CUInt32T)
extern def Fl_Check_Browser_do_callback(self: Fl_Check_BrowserPtr)
extern def Fl_Check_Browser_inside(self: Fl_Check_BrowserPtr, a1: bytes) -> int
extern def Fl_Check_Browser_window(self: Fl_Check_BrowserPtr) -> bytes
extern def Fl_Check_Browser_top_window(self: Fl_Check_BrowserPtr) -> bytes
extern def Fl_Check_Browser_takes_events(self: Fl_Check_BrowserPtr) -> int
extern def Fl_Check_Browser_user_data(self: Fl_Check_BrowserPtr) -> bytes
extern def Fl_Check_Browser_take_focus(self: Fl_Check_BrowserPtr) -> int
extern def Fl_Check_Browser_set_visible_focus(self: Fl_Check_BrowserPtr)
extern def Fl_Check_Browser_clear_visible_focus(self: Fl_Check_BrowserPtr)
extern def Fl_Check_Browser_visible_focus(self: Fl_Check_BrowserPtr, v: int)
extern def Fl_Check_Browser_has_visible_focus(self: Fl_Check_BrowserPtr) -> t.CUInt32T
extern def Fl_Check_Browser_set_user_data(self: Fl_Check_BrowserPtr, data: bytes)
extern def Fl_Check_Browser_draw_data(self: Fl_Check_BrowserPtr) -> bytes
extern def Fl_Check_Browser_handle_data(self: Fl_Check_BrowserPtr) -> bytes
extern def Fl_Check_Browser_set_draw_data(self: Fl_Check_BrowserPtr, data: bytes)
extern def Fl_Check_Browser_set_handle_data(self: Fl_Check_BrowserPtr, data: bytes)
extern def Fl_Check_Browser_damage(self: Fl_Check_BrowserPtr) -> t.CUInt8T
extern def Fl_Check_Browser_set_damage(self: Fl_Check_BrowserPtr, flag: t.CUInt8T)
extern def Fl_Check_Browser_set_damage_area(self: Fl_Check_BrowserPtr, flag: t.CUInt8T, x: int, y: int, w: int, h: int)
extern def Fl_Check_Browser_clear_damage(self: Fl_Check_BrowserPtr)
extern def Fl_Check_Browser_as_window(self: Fl_Check_BrowserPtr) -> bytes
extern def Fl_Check_Browser_as_group(self: Fl_Check_BrowserPtr) -> bytes
extern def Fl_Check_Browser_set_deimage(self: Fl_Check_BrowserPtr, a1: bytes)
extern def Fl_Check_Browser_deimage(self: Fl_Check_BrowserPtr) -> bytes
extern def Fl_Check_Browser_set_callback(self: Fl_Check_BrowserPtr, a1: bytes, a2: bytes)
extern def Fl_Check_Browser_visible(self: Fl_Check_BrowserPtr) -> int
extern def Fl_Check_Browser_visible_r(self: Fl_Check_BrowserPtr) -> int
extern def Fl_Check_Browser_active(self: Fl_Check_BrowserPtr) -> t.CUInt32T
extern def Fl_Check_Browser_active_r(self: Fl_Check_BrowserPtr) -> int
extern def Fl_Check_Browser_callback(self: Fl_Check_BrowserPtr) -> bytes
extern def Fl_Check_Browser_set_deletion_callback(self: Fl_Check_BrowserPtr, cb1: bytes, data: bytes)
extern def Fl_Check_Browser_from_dyn_ptr(ptr: Fl_WidgetPtr) -> Fl_Check_BrowserPtr
extern def Fl_Check_Browser_from_derived_dyn_ptr(ptr: Fl_WidgetPtr) -> Fl_Check_BrowserPtr
extern def Fl_Check_Browser_super_draw(ptr: Fl_WidgetPtr, flag: int)
extern def Fl_Check_Browser_super_draw_first(ptr: Fl_WidgetPtr, flag: int)
extern def Fl_Check_Browser_super_handle_first(ptr: Fl_WidgetPtr, flag: int)
extern def Fl_File_Browser_iconsize(self: Fl_File_BrowserPtr) -> bytes
extern def Fl_File_Browser_set_iconsize(self: Fl_File_BrowserPtr, s: bytes)
extern def Fl_File_Browser_set_filter(self: Fl_File_BrowserPtr, pattern: str)
extern def Fl_File_Browser_filter(self: Fl_File_BrowserPtr) -> str
extern def Fl_File_Browser_filetype(self: Fl_File_BrowserPtr) -> int
extern def Fl_File_Browser_set_filetype(self: Fl_File_BrowserPtr, t: int)
extern def Fl_Check_Browser_add(self: Fl_Check_BrowserPtr, s: str, b: int) -> int
extern def Fl_Check_Browser_remove(self: Fl_Check_BrowserPtr, item: int) -> int
extern def Fl_Check_Browser_clear(self: Fl_Check_BrowserPtr)
extern def Fl_Check_Browser_nitems(self: Fl_Check_BrowserPtr) -> int
extern def Fl_Check_Browser_nchecked(self: Fl_Check_BrowserPtr) -> int
extern def Fl_Check_Browser_checked(self: Fl_Check_BrowserPtr, item: int) -> int
extern def Fl_Check_Browser_set_checked(self: Fl_Check_BrowserPtr, item: int)
extern def Fl_Check_Browser_check_all(self: Fl_Check_BrowserPtr)
extern def Fl_Check_Browser_check_none(self: Fl_Check_BrowserPtr)
extern def Fl_Check_Browser_value(self: Fl_Check_BrowserPtr) -> int
extern def Fl_Check_Browser_text(self: Fl_Check_BrowserPtr, item: int) -> str
extern def Fl_Check_Browser_position(self: Fl_Check_BrowserPtr) -> int
extern def Fl_Check_Browser_set_position(self: Fl_Check_BrowserPtr, pos: int)
extern def Fl_Check_Browser_hposition(self: Fl_Check_BrowserPtr) -> int
extern def Fl_Check_Browser_set_hposition(self: Fl_Check_BrowserPtr, a1: int)
extern def Fl_Check_Browser_has_scrollbar(self: Fl_Check_BrowserPtr) -> t.CUInt8T
extern def Fl_Check_Browser_scrollbar(self: Fl_Check_BrowserPtr) -> bytes
extern def Fl_Check_Browser_hscrollbar(self: Fl_Check_BrowserPtr) -> bytes
extern def Fl_Check_Browser_set_has_scrollbar(self: Fl_Check_BrowserPtr, mode: t.CUInt8T)
extern def Fl_Check_Browser_scrollbar_size(self: Fl_Check_BrowserPtr) -> int
extern def Fl_Check_Browser_set_scrollbar_size(self: Fl_Check_BrowserPtr, newSize: int)
extern def Fl_Check_Browser_sort(self: Fl_Check_BrowserPtr)
extern def Fl_Check_Browser_set_text_color(self: Fl_Check_BrowserPtr, c: t.CUInt32T)
extern def Fl_Check_Browser_text_color(self: Fl_Check_BrowserPtr) -> t.CUInt32T
extern def Fl_Check_Browser_set_text_font(self: Fl_Check_BrowserPtr, f: int)
extern def Fl_Check_Browser_text_font(self: Fl_Check_BrowserPtr) -> int
extern def Fl_Check_Browser_set_text_size(self: Fl_Check_BrowserPtr, s: int)
extern def Fl_Check_Browser_text_size(self: Fl_Check_BrowserPtr) -> int
-1106
View File
File diff suppressed because it is too large. Load diff
-123
View File
@@ -1,123 +0,0 @@
import t, c
from fltk._types import *
# ============================================================
# fltk/_cfl_dialog.vp — cfl_dialog.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_Native_File_Chooser_new(a0: int) -> Fl_Native_File_ChooserPtr
extern def Fl_Native_File_Chooser_delete(self: Fl_Native_File_ChooserPtr)
extern def Fl_Native_File_Chooser_filename(a0: Fl_Native_File_ChooserPtr) -> str
extern def Fl_Native_File_Chooser_filenames(a0: Fl_Native_File_ChooserPtr, a1: int) -> str
extern def Fl_Native_File_Chooser_count(a0: Fl_Native_File_ChooserPtr) -> int
extern def Fl_Native_File_Chooser_set_directory(a0: Fl_Native_File_ChooserPtr, val: str)
extern def Fl_Native_File_Chooser_directory(a0: Fl_Native_File_ChooserPtr) -> str
extern def Fl_Native_File_Chooser_show(a0: Fl_Native_File_ChooserPtr) -> int
extern def Fl_Native_File_Chooser_set_option(a0: Fl_Native_File_ChooserPtr, opt: int)
extern def Fl_Native_File_Chooser_set_type(a0: Fl_Native_File_ChooserPtr, typ: int)
extern def Fl_Native_File_Chooser_set_title(a0: Fl_Native_File_ChooserPtr, title: str)
extern def Fl_Native_File_Chooser_set_filter(a0: Fl_Native_File_ChooserPtr, f: str)
extern def Fl_Native_File_Chooser_filter(self: Fl_Native_File_ChooserPtr) -> str
extern def Fl_Native_File_Chooser_filter_value(self: Fl_Native_File_ChooserPtr) -> int
extern def Fl_Native_File_Chooser_set_filter_value(self: Fl_Native_File_ChooserPtr, f: int)
extern def Fl_Native_File_Chooser_set_preset_file(a0: Fl_Native_File_ChooserPtr, f: str)
extern def Fl_Native_File_Chooser_errmsg(a0: Fl_Native_File_ChooserPtr) -> str
extern def Fl_message(txt: str)
extern def Fl_alert(txt: str)
extern def Fl_choice(txt: str, b0: str, b1: str, b2: str) -> int
extern def Fl_choice_n(txt: str, b0: str, b1: str, b2: str) -> int
extern def Fl_input(txt: str, deflt: str) -> str
extern def Fl_password(txt: str, deflt: str) -> str
extern def Fl_Help_Dialog_new() -> Fl_Help_DialogPtr
extern def Fl_Help_Dialog_delete(self: Fl_Help_DialogPtr)
extern def Fl_Help_Dialog_h(a0: Fl_Help_DialogPtr) -> int
extern def Fl_Help_Dialog_hide(a0: Fl_Help_DialogPtr)
extern def Fl_Help_Dialog_load(a0: Fl_Help_DialogPtr, f: str) -> int
extern def Fl_Help_Dialog_position(a0: Fl_Help_DialogPtr, xx: int, yy: int)
extern def Fl_Help_Dialog_resize(a0: Fl_Help_DialogPtr, xx: int, yy: int, ww: int, hh: int)
extern def Fl_Help_Dialog_show(a0: Fl_Help_DialogPtr)
extern def Fl_Help_Dialog_set_text_size(a0: Fl_Help_DialogPtr, s: int)
extern def Fl_Help_Dialog_text_size(a0: Fl_Help_DialogPtr) -> int
extern def Fl_Help_Dialog_set_value(a0: Fl_Help_DialogPtr, f: str)
extern def Fl_Help_Dialog_value(a0: Fl_Help_DialogPtr) -> str
extern def Fl_Help_Dialog_visible(a0: Fl_Help_DialogPtr) -> int
extern def Fl_Help_Dialog_w(a0: Fl_Help_DialogPtr) -> int
extern def Fl_Help_Dialog_x(a0: Fl_Help_DialogPtr) -> int
extern def Fl_Help_Dialog_y(a0: Fl_Help_DialogPtr) -> int
extern def Fl_beep(type: int)
extern def Fl_File_Chooser_new(d: str, p: str, t: int, title: str) -> Fl_File_ChooserPtr
extern def Fl_File_Chooser_delete(self: Fl_File_ChooserPtr)
extern def Fl_File_Chooser_newButton(self: Fl_File_ChooserPtr) -> bytes
extern def Fl_File_Chooser_previewButton(self: Fl_File_ChooserPtr) -> bytes
extern def Fl_File_Chooser_showHiddenButton(self: Fl_File_ChooserPtr) -> bytes
extern def Fl_File_Chooser_set_callback(self: Fl_File_ChooserPtr, cb1: bytes, d: bytes)
extern def Fl_File_Chooser_set_color(self: Fl_File_ChooserPtr, c: t.CUInt32T)
extern def Fl_File_Chooser_color(self: Fl_File_ChooserPtr) -> t.CUInt32T
extern def Fl_File_Chooser_count(self: Fl_File_ChooserPtr) -> int
extern def Fl_File_Chooser_set_directory(self: Fl_File_ChooserPtr, d: str)
extern def Fl_File_Chooser_directory(self: Fl_File_ChooserPtr) -> str
extern def Fl_File_Chooser_set_filter(self: Fl_File_ChooserPtr, p: str)
extern def Fl_File_Chooser_filter(self: Fl_File_ChooserPtr) -> str
extern def Fl_File_Chooser_filter_value(self: Fl_File_ChooserPtr) -> int
extern def Fl_File_Chooser_set_filter_value(self: Fl_File_ChooserPtr, f: int)
extern def Fl_File_Chooser_hide(self: Fl_File_ChooserPtr)
extern def Fl_File_Chooser_set_iconsize(self: Fl_File_ChooserPtr, s: t.CUInt8T)
extern def Fl_File_Chooser_iconsize(self: Fl_File_ChooserPtr) -> t.CUInt8T
extern def Fl_File_Chooser_set_label(self: Fl_File_ChooserPtr, l: str)
extern def Fl_File_Chooser_label(self: Fl_File_ChooserPtr) -> str
extern def Fl_File_Chooser_set_ok_label(self: Fl_File_ChooserPtr, l: str)
extern def Fl_File_Chooser_ok_label(self: Fl_File_ChooserPtr) -> str
extern def Fl_File_Chooser_set_preview(self: Fl_File_ChooserPtr, e: int)
extern def Fl_File_Chooser_preview(self: Fl_File_ChooserPtr) -> int
extern def Fl_File_Chooser_rescan(self: Fl_File_ChooserPtr)
extern def Fl_File_Chooser_rescan_keep_filename(self: Fl_File_ChooserPtr)
extern def Fl_File_Chooser_show(self: Fl_File_ChooserPtr)
extern def Fl_File_Chooser_shown(self: Fl_File_ChooserPtr) -> int
extern def Fl_File_Chooser_set_text_color(self: Fl_File_ChooserPtr, c: t.CUInt32T)
extern def Fl_File_Chooser_text_color(self: Fl_File_ChooserPtr) -> t.CUInt32T
extern def Fl_File_Chooser_set_text_font(self: Fl_File_ChooserPtr, f: int)
extern def Fl_File_Chooser_text_font(self: Fl_File_ChooserPtr) -> int
extern def Fl_File_Chooser_set_text_size(self: Fl_File_ChooserPtr, s: int)
extern def Fl_File_Chooser_text_size(self: Fl_File_ChooserPtr) -> int
extern def Fl_File_Chooser_set_type(self: Fl_File_ChooserPtr, t: int)
extern def Fl_File_Chooser_type(self: Fl_File_ChooserPtr) -> int
extern def Fl_File_Chooser_user_data(self: Fl_File_ChooserPtr) -> bytes
extern def Fl_File_Chooser_set_user_data(self: Fl_File_ChooserPtr, d: bytes)
extern def Fl_File_Chooser_value(self: Fl_File_ChooserPtr, f: int) -> str
extern def Fl_File_Chooser_set_value(self: Fl_File_ChooserPtr, filename: str)
extern def Fl_File_Chooser_visible(self: Fl_File_ChooserPtr) -> int
extern def Fl_File_Chooser_set_add_favorites_label(msg: str)
extern def Fl_File_Chooser_set_all_files_label(msg: str)
extern def Fl_File_Chooser_set_custom_filter_label(msg: str)
extern def Fl_File_Chooser_set_existing_file_label(msg: str)
extern def Fl_File_Chooser_set_favorites_label(msg: str)
extern def Fl_File_Chooser_set_filename_label(msg: str)
extern def Fl_File_Chooser_set_filesystems_label(msg: str)
extern def Fl_File_Chooser_set_manage_favorites_label(msg: str)
extern def Fl_File_Chooser_set_new_directory_label(msg: str)
extern def Fl_File_Chooser_set_new_directory_tooltip(msg: str)
extern def Fl_File_Chooser_set_preview_label(msg: str)
extern def Fl_File_Chooser_set_save_label(msg: str)
extern def Fl_File_Chooser_set_show_label(msg: str)
extern def Fl_File_Chooser_set_hidden_label(msg: str)
extern def Fl_File_Chooser_set_position(self: Fl_File_ChooserPtr, x: int, y: int)
extern def Fl_File_Chooser_set_size(self: Fl_File_ChooserPtr, w: int, h: int)
extern def Fl_File_Chooser_x(self: Fl_File_ChooserPtr) -> int
extern def Fl_File_Chooser_y(self: Fl_File_ChooserPtr) -> int
extern def Fl_File_Chooser_w(self: Fl_File_ChooserPtr) -> int
extern def Fl_File_Chooser_h(self: Fl_File_ChooserPtr) -> int
extern def Fl_dir_chooser(message: str, fname: str, relative: int) -> str
extern def Fl_file_chooser(message: str, pat: str, fname: str, relative: int) -> str
extern def Fl_color_chooser(name: str, r: bytes, g: bytes, b: bytes, cmode: int) -> int
extern def Fl_message_title(title: str)
extern def Fl_message_title_default(title: str)
extern def Fl_message_icon() -> bytes
extern def Fl_message_set_hotspot(enable: int)
extern def Fl_message_hotspot() -> int
extern def Fl_message_set_font(f: int, s: int)
extern def Fl_message_icon_label(label: str)
extern def Fl_message_position(x: int, y: int)
-131
View File
@@ -1,131 +0,0 @@
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() -> char
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)
-1136
View File
File diff suppressed because it is too large. Load diff
-341
View File
@@ -1,341 +0,0 @@
import t, c
from fltk._types import *
# ============================================================
# fltk/_cfl_image.vp — cfl_image.h 的 extern FFI 声明(对接 cfltk C API)
# ============================================================
# 所有函数直接对应 cfltk 生成的 C 符号(extern "C"),链接目标: cfltk2。
# 类型约定: Fl_* 对象均为不透明指针 (Fl_XxxPtr);const char* → str;
# 函数指针/void* → bytes(Viper 端传 0/NULL 或不使用)。
# ----- Fl_Image (image_declare) -----
extern def Fl_Image_draw(self: Fl_ImagePtr, X: int, Y: int, W: int, H: int)
extern def Fl_Image_draw_ext(self: Fl_ImagePtr, X: int, Y: int, W: int, H: int, cx: int, cy: int)
extern def Fl_Image_width(self: Fl_ImagePtr) -> int
extern def Fl_Image_height(self: Fl_ImagePtr) -> int
extern def Fl_Image_delete(self: Fl_ImagePtr)
extern def Fl_Image_count(self: Fl_ImagePtr) -> int
extern def Fl_Image_data(self: Fl_ImagePtr) -> bytes
extern def Fl_Image_copy(self: Fl_ImagePtr) -> Fl_ImagePtr
extern def Fl_Image_copy_sized(self: Fl_ImagePtr, W: int, H: int) -> Fl_ImagePtr
extern def Fl_Image_scale(self: Fl_ImagePtr, width: int, height: int, proportional: int, can_expand: int)
extern def Fl_Image_fail(self: Fl_ImagePtr) -> int
extern def Fl_Image_data_w(self: Fl_ImagePtr) -> int
extern def Fl_Image_data_h(self: Fl_ImagePtr) -> int
extern def Fl_Image_d(self: Fl_ImagePtr) -> int
extern def Fl_Image_ld(self: Fl_ImagePtr) -> int
extern def Fl_Image_inactive(self: Fl_ImagePtr)
extern def Fl_Image_from_dyn_ptr(other: Fl_ImagePtr) -> Fl_ImagePtr
# ----- Fl_JPEG_Image (image_declare) -----
extern def Fl_JPEG_Image_draw(self: Fl_JPEG_ImagePtr, X: int, Y: int, W: int, H: int)
extern def Fl_JPEG_Image_draw_ext(self: Fl_JPEG_ImagePtr, X: int, Y: int, W: int, H: int, cx: int, cy: int)
extern def Fl_JPEG_Image_width(self: Fl_JPEG_ImagePtr) -> int
extern def Fl_JPEG_Image_height(self: Fl_JPEG_ImagePtr) -> int
extern def Fl_JPEG_Image_delete(self: Fl_JPEG_ImagePtr)
extern def Fl_JPEG_Image_count(self: Fl_JPEG_ImagePtr) -> int
extern def Fl_JPEG_Image_data(self: Fl_JPEG_ImagePtr) -> bytes
extern def Fl_JPEG_Image_copy(self: Fl_JPEG_ImagePtr) -> Fl_JPEG_ImagePtr
extern def Fl_JPEG_Image_copy_sized(self: Fl_JPEG_ImagePtr, W: int, H: int) -> Fl_JPEG_ImagePtr
extern def Fl_JPEG_Image_scale(self: Fl_JPEG_ImagePtr, width: int, height: int, proportional: int, can_expand: int)
extern def Fl_JPEG_Image_fail(self: Fl_JPEG_ImagePtr) -> int
extern def Fl_JPEG_Image_data_w(self: Fl_JPEG_ImagePtr) -> int
extern def Fl_JPEG_Image_data_h(self: Fl_JPEG_ImagePtr) -> int
extern def Fl_JPEG_Image_d(self: Fl_JPEG_ImagePtr) -> int
extern def Fl_JPEG_Image_ld(self: Fl_JPEG_ImagePtr) -> int
extern def Fl_JPEG_Image_inactive(self: Fl_JPEG_ImagePtr)
extern def Fl_JPEG_Image_from_dyn_ptr(other: Fl_ImagePtr) -> Fl_JPEG_ImagePtr
# ----- Fl_PNG_Image (image_declare) -----
extern def Fl_PNG_Image_draw(self: Fl_PNG_ImagePtr, X: int, Y: int, W: int, H: int)
extern def Fl_PNG_Image_draw_ext(self: Fl_PNG_ImagePtr, X: int, Y: int, W: int, H: int, cx: int, cy: int)
extern def Fl_PNG_Image_width(self: Fl_PNG_ImagePtr) -> int
extern def Fl_PNG_Image_height(self: Fl_PNG_ImagePtr) -> int
extern def Fl_PNG_Image_delete(self: Fl_PNG_ImagePtr)
extern def Fl_PNG_Image_count(self: Fl_PNG_ImagePtr) -> int
extern def Fl_PNG_Image_data(self: Fl_PNG_ImagePtr) -> bytes
extern def Fl_PNG_Image_copy(self: Fl_PNG_ImagePtr) -> Fl_PNG_ImagePtr
extern def Fl_PNG_Image_copy_sized(self: Fl_PNG_ImagePtr, W: int, H: int) -> Fl_PNG_ImagePtr
extern def Fl_PNG_Image_scale(self: Fl_PNG_ImagePtr, width: int, height: int, proportional: int, can_expand: int)
extern def Fl_PNG_Image_fail(self: Fl_PNG_ImagePtr) -> int
extern def Fl_PNG_Image_data_w(self: Fl_PNG_ImagePtr) -> int
extern def Fl_PNG_Image_data_h(self: Fl_PNG_ImagePtr) -> int
extern def Fl_PNG_Image_d(self: Fl_PNG_ImagePtr) -> int
extern def Fl_PNG_Image_ld(self: Fl_PNG_ImagePtr) -> int
extern def Fl_PNG_Image_inactive(self: Fl_PNG_ImagePtr)
extern def Fl_PNG_Image_from_dyn_ptr(other: Fl_ImagePtr) -> Fl_PNG_ImagePtr
# ----- Fl_SVG_Image (image_declare) -----
extern def Fl_SVG_Image_draw(self: Fl_SVG_ImagePtr, X: int, Y: int, W: int, H: int)
extern def Fl_SVG_Image_draw_ext(self: Fl_SVG_ImagePtr, X: int, Y: int, W: int, H: int, cx: int, cy: int)
extern def Fl_SVG_Image_width(self: Fl_SVG_ImagePtr) -> int
extern def Fl_SVG_Image_height(self: Fl_SVG_ImagePtr) -> int
extern def Fl_SVG_Image_delete(self: Fl_SVG_ImagePtr)
extern def Fl_SVG_Image_count(self: Fl_SVG_ImagePtr) -> int
extern def Fl_SVG_Image_data(self: Fl_SVG_ImagePtr) -> bytes
extern def Fl_SVG_Image_copy(self: Fl_SVG_ImagePtr) -> Fl_SVG_ImagePtr
extern def Fl_SVG_Image_copy_sized(self: Fl_SVG_ImagePtr, W: int, H: int) -> Fl_SVG_ImagePtr
extern def Fl_SVG_Image_scale(self: Fl_SVG_ImagePtr, width: int, height: int, proportional: int, can_expand: int)
extern def Fl_SVG_Image_fail(self: Fl_SVG_ImagePtr) -> int
extern def Fl_SVG_Image_data_w(self: Fl_SVG_ImagePtr) -> int
extern def Fl_SVG_Image_data_h(self: Fl_SVG_ImagePtr) -> int
extern def Fl_SVG_Image_d(self: Fl_SVG_ImagePtr) -> int
extern def Fl_SVG_Image_ld(self: Fl_SVG_ImagePtr) -> int
extern def Fl_SVG_Image_inactive(self: Fl_SVG_ImagePtr)
extern def Fl_SVG_Image_from_dyn_ptr(other: Fl_ImagePtr) -> Fl_SVG_ImagePtr
# ----- Fl_BMP_Image (image_declare) -----
extern def Fl_BMP_Image_draw(self: Fl_BMP_ImagePtr, X: int, Y: int, W: int, H: int)
extern def Fl_BMP_Image_draw_ext(self: Fl_BMP_ImagePtr, X: int, Y: int, W: int, H: int, cx: int, cy: int)
extern def Fl_BMP_Image_width(self: Fl_BMP_ImagePtr) -> int
extern def Fl_BMP_Image_height(self: Fl_BMP_ImagePtr) -> int
extern def Fl_BMP_Image_delete(self: Fl_BMP_ImagePtr)
extern def Fl_BMP_Image_count(self: Fl_BMP_ImagePtr) -> int
extern def Fl_BMP_Image_data(self: Fl_BMP_ImagePtr) -> bytes
extern def Fl_BMP_Image_copy(self: Fl_BMP_ImagePtr) -> Fl_BMP_ImagePtr
extern def Fl_BMP_Image_copy_sized(self: Fl_BMP_ImagePtr, W: int, H: int) -> Fl_BMP_ImagePtr
extern def Fl_BMP_Image_scale(self: Fl_BMP_ImagePtr, width: int, height: int, proportional: int, can_expand: int)
extern def Fl_BMP_Image_fail(self: Fl_BMP_ImagePtr) -> int
extern def Fl_BMP_Image_data_w(self: Fl_BMP_ImagePtr) -> int
extern def Fl_BMP_Image_data_h(self: Fl_BMP_ImagePtr) -> int
extern def Fl_BMP_Image_d(self: Fl_BMP_ImagePtr) -> int
extern def Fl_BMP_Image_ld(self: Fl_BMP_ImagePtr) -> int
extern def Fl_BMP_Image_inactive(self: Fl_BMP_ImagePtr)
extern def Fl_BMP_Image_from_dyn_ptr(other: Fl_ImagePtr) -> Fl_BMP_ImagePtr
# ----- Fl_GIF_Image (image_declare) -----
extern def Fl_GIF_Image_draw(self: Fl_GIF_ImagePtr, X: int, Y: int, W: int, H: int)
extern def Fl_GIF_Image_draw_ext(self: Fl_GIF_ImagePtr, X: int, Y: int, W: int, H: int, cx: int, cy: int)
extern def Fl_GIF_Image_width(self: Fl_GIF_ImagePtr) -> int
extern def Fl_GIF_Image_height(self: Fl_GIF_ImagePtr) -> int
extern def Fl_GIF_Image_delete(self: Fl_GIF_ImagePtr)
extern def Fl_GIF_Image_count(self: Fl_GIF_ImagePtr) -> int
extern def Fl_GIF_Image_data(self: Fl_GIF_ImagePtr) -> bytes
extern def Fl_GIF_Image_copy(self: Fl_GIF_ImagePtr) -> Fl_GIF_ImagePtr
extern def Fl_GIF_Image_copy_sized(self: Fl_GIF_ImagePtr, W: int, H: int) -> Fl_GIF_ImagePtr
extern def Fl_GIF_Image_scale(self: Fl_GIF_ImagePtr, width: int, height: int, proportional: int, can_expand: int)
extern def Fl_GIF_Image_fail(self: Fl_GIF_ImagePtr) -> int
extern def Fl_GIF_Image_data_w(self: Fl_GIF_ImagePtr) -> int
extern def Fl_GIF_Image_data_h(self: Fl_GIF_ImagePtr) -> int
extern def Fl_GIF_Image_d(self: Fl_GIF_ImagePtr) -> int
extern def Fl_GIF_Image_ld(self: Fl_GIF_ImagePtr) -> int
extern def Fl_GIF_Image_inactive(self: Fl_GIF_ImagePtr)
extern def Fl_GIF_Image_from_dyn_ptr(other: Fl_ImagePtr) -> Fl_GIF_ImagePtr
# ----- Fl_Anim_GIF_Image (image_declare) -----
extern def Fl_Anim_GIF_Image_draw(self: Fl_Anim_GIF_ImagePtr, X: int, Y: int, W: int, H: int)
extern def Fl_Anim_GIF_Image_draw_ext(self: Fl_Anim_GIF_ImagePtr, X: int, Y: int, W: int, H: int, cx: int, cy: int)
extern def Fl_Anim_GIF_Image_width(self: Fl_Anim_GIF_ImagePtr) -> int
extern def Fl_Anim_GIF_Image_height(self: Fl_Anim_GIF_ImagePtr) -> int
extern def Fl_Anim_GIF_Image_delete(self: Fl_Anim_GIF_ImagePtr)
extern def Fl_Anim_GIF_Image_count(self: Fl_Anim_GIF_ImagePtr) -> int
extern def Fl_Anim_GIF_Image_data(self: Fl_Anim_GIF_ImagePtr) -> bytes
extern def Fl_Anim_GIF_Image_copy(self: Fl_Anim_GIF_ImagePtr) -> Fl_Anim_GIF_ImagePtr
extern def Fl_Anim_GIF_Image_copy_sized(self: Fl_Anim_GIF_ImagePtr, W: int, H: int) -> Fl_Anim_GIF_ImagePtr
extern def Fl_Anim_GIF_Image_scale(self: Fl_Anim_GIF_ImagePtr, width: int, height: int, proportional: int, can_expand: int)
extern def Fl_Anim_GIF_Image_fail(self: Fl_Anim_GIF_ImagePtr) -> int
extern def Fl_Anim_GIF_Image_data_w(self: Fl_Anim_GIF_ImagePtr) -> int
extern def Fl_Anim_GIF_Image_data_h(self: Fl_Anim_GIF_ImagePtr) -> int
extern def Fl_Anim_GIF_Image_d(self: Fl_Anim_GIF_ImagePtr) -> int
extern def Fl_Anim_GIF_Image_ld(self: Fl_Anim_GIF_ImagePtr) -> int
extern def Fl_Anim_GIF_Image_inactive(self: Fl_Anim_GIF_ImagePtr)
extern def Fl_Anim_GIF_Image_from_dyn_ptr(other: Fl_ImagePtr) -> Fl_Anim_GIF_ImagePtr
# ----- Fl_Pixmap (image_declare) -----
extern def Fl_Pixmap_draw(self: Fl_PixmapPtr, X: int, Y: int, W: int, H: int)
extern def Fl_Pixmap_draw_ext(self: Fl_PixmapPtr, X: int, Y: int, W: int, H: int, cx: int, cy: int)
extern def Fl_Pixmap_width(self: Fl_PixmapPtr) -> int
extern def Fl_Pixmap_height(self: Fl_PixmapPtr) -> int
extern def Fl_Pixmap_delete(self: Fl_PixmapPtr)
extern def Fl_Pixmap_count(self: Fl_PixmapPtr) -> int
extern def Fl_Pixmap_data(self: Fl_PixmapPtr) -> bytes
extern def Fl_Pixmap_copy(self: Fl_PixmapPtr) -> Fl_PixmapPtr
extern def Fl_Pixmap_copy_sized(self: Fl_PixmapPtr, W: int, H: int) -> Fl_PixmapPtr
extern def Fl_Pixmap_scale(self: Fl_PixmapPtr, width: int, height: int, proportional: int, can_expand: int)
extern def Fl_Pixmap_fail(self: Fl_PixmapPtr) -> int
extern def Fl_Pixmap_data_w(self: Fl_PixmapPtr) -> int
extern def Fl_Pixmap_data_h(self: Fl_PixmapPtr) -> int
extern def Fl_Pixmap_d(self: Fl_PixmapPtr) -> int
extern def Fl_Pixmap_ld(self: Fl_PixmapPtr) -> int
extern def Fl_Pixmap_inactive(self: Fl_PixmapPtr)
extern def Fl_Pixmap_from_dyn_ptr(other: Fl_ImagePtr) -> Fl_PixmapPtr
# ----- Fl_XPM_Image (image_declare) -----
extern def Fl_XPM_Image_draw(self: Fl_XPM_ImagePtr, X: int, Y: int, W: int, H: int)
extern def Fl_XPM_Image_draw_ext(self: Fl_XPM_ImagePtr, X: int, Y: int, W: int, H: int, cx: int, cy: int)
extern def Fl_XPM_Image_width(self: Fl_XPM_ImagePtr) -> int
extern def Fl_XPM_Image_height(self: Fl_XPM_ImagePtr) -> int
extern def Fl_XPM_Image_delete(self: Fl_XPM_ImagePtr)
extern def Fl_XPM_Image_count(self: Fl_XPM_ImagePtr) -> int
extern def Fl_XPM_Image_data(self: Fl_XPM_ImagePtr) -> bytes
extern def Fl_XPM_Image_copy(self: Fl_XPM_ImagePtr) -> Fl_XPM_ImagePtr
extern def Fl_XPM_Image_copy_sized(self: Fl_XPM_ImagePtr, W: int, H: int) -> Fl_XPM_ImagePtr
extern def Fl_XPM_Image_scale(self: Fl_XPM_ImagePtr, width: int, height: int, proportional: int, can_expand: int)
extern def Fl_XPM_Image_fail(self: Fl_XPM_ImagePtr) -> int
extern def Fl_XPM_Image_data_w(self: Fl_XPM_ImagePtr) -> int
extern def Fl_XPM_Image_data_h(self: Fl_XPM_ImagePtr) -> int
extern def Fl_XPM_Image_d(self: Fl_XPM_ImagePtr) -> int
extern def Fl_XPM_Image_ld(self: Fl_XPM_ImagePtr) -> int
extern def Fl_XPM_Image_inactive(self: Fl_XPM_ImagePtr)
extern def Fl_XPM_Image_from_dyn_ptr(other: Fl_ImagePtr) -> Fl_XPM_ImagePtr
# ----- Fl_XBM_Image (image_declare) -----
extern def Fl_XBM_Image_draw(self: Fl_XBM_ImagePtr, X: int, Y: int, W: int, H: int)
extern def Fl_XBM_Image_draw_ext(self: Fl_XBM_ImagePtr, X: int, Y: int, W: int, H: int, cx: int, cy: int)
extern def Fl_XBM_Image_width(self: Fl_XBM_ImagePtr) -> int
extern def Fl_XBM_Image_height(self: Fl_XBM_ImagePtr) -> int
extern def Fl_XBM_Image_delete(self: Fl_XBM_ImagePtr)
extern def Fl_XBM_Image_count(self: Fl_XBM_ImagePtr) -> int
extern def Fl_XBM_Image_data(self: Fl_XBM_ImagePtr) -> bytes
extern def Fl_XBM_Image_copy(self: Fl_XBM_ImagePtr) -> Fl_XBM_ImagePtr
extern def Fl_XBM_Image_copy_sized(self: Fl_XBM_ImagePtr, W: int, H: int) -> Fl_XBM_ImagePtr
extern def Fl_XBM_Image_scale(self: Fl_XBM_ImagePtr, width: int, height: int, proportional: int, can_expand: int)
extern def Fl_XBM_Image_fail(self: Fl_XBM_ImagePtr) -> int
extern def Fl_XBM_Image_data_w(self: Fl_XBM_ImagePtr) -> int
extern def Fl_XBM_Image_data_h(self: Fl_XBM_ImagePtr) -> int
extern def Fl_XBM_Image_d(self: Fl_XBM_ImagePtr) -> int
extern def Fl_XBM_Image_ld(self: Fl_XBM_ImagePtr) -> int
extern def Fl_XBM_Image_inactive(self: Fl_XBM_ImagePtr)
extern def Fl_XBM_Image_from_dyn_ptr(other: Fl_ImagePtr) -> Fl_XBM_ImagePtr
# ----- Fl_PNM_Image (image_declare) -----
extern def Fl_PNM_Image_draw(self: Fl_PNM_ImagePtr, X: int, Y: int, W: int, H: int)
extern def Fl_PNM_Image_draw_ext(self: Fl_PNM_ImagePtr, X: int, Y: int, W: int, H: int, cx: int, cy: int)
extern def Fl_PNM_Image_width(self: Fl_PNM_ImagePtr) -> int
extern def Fl_PNM_Image_height(self: Fl_PNM_ImagePtr) -> int
extern def Fl_PNM_Image_delete(self: Fl_PNM_ImagePtr)
extern def Fl_PNM_Image_count(self: Fl_PNM_ImagePtr) -> int
extern def Fl_PNM_Image_data(self: Fl_PNM_ImagePtr) -> bytes
extern def Fl_PNM_Image_copy(self: Fl_PNM_ImagePtr) -> Fl_PNM_ImagePtr
extern def Fl_PNM_Image_copy_sized(self: Fl_PNM_ImagePtr, W: int, H: int) -> Fl_PNM_ImagePtr
extern def Fl_PNM_Image_scale(self: Fl_PNM_ImagePtr, width: int, height: int, proportional: int, can_expand: int)
extern def Fl_PNM_Image_fail(self: Fl_PNM_ImagePtr) -> int
extern def Fl_PNM_Image_data_w(self: Fl_PNM_ImagePtr) -> int
extern def Fl_PNM_Image_data_h(self: Fl_PNM_ImagePtr) -> int
extern def Fl_PNM_Image_d(self: Fl_PNM_ImagePtr) -> int
extern def Fl_PNM_Image_ld(self: Fl_PNM_ImagePtr) -> int
extern def Fl_PNM_Image_inactive(self: Fl_PNM_ImagePtr)
extern def Fl_PNM_Image_from_dyn_ptr(other: Fl_ImagePtr) -> Fl_PNM_ImagePtr
# ----- Fl_Tiled_Image (image_declare) -----
extern def Fl_Tiled_Image_draw(self: Fl_Tiled_ImagePtr, X: int, Y: int, W: int, H: int)
extern def Fl_Tiled_Image_draw_ext(self: Fl_Tiled_ImagePtr, X: int, Y: int, W: int, H: int, cx: int, cy: int)
extern def Fl_Tiled_Image_width(self: Fl_Tiled_ImagePtr) -> int
extern def Fl_Tiled_Image_height(self: Fl_Tiled_ImagePtr) -> int
extern def Fl_Tiled_Image_delete(self: Fl_Tiled_ImagePtr)
extern def Fl_Tiled_Image_count(self: Fl_Tiled_ImagePtr) -> int
extern def Fl_Tiled_Image_data(self: Fl_Tiled_ImagePtr) -> bytes
extern def Fl_Tiled_Image_copy(self: Fl_Tiled_ImagePtr) -> Fl_Tiled_ImagePtr
extern def Fl_Tiled_Image_copy_sized(self: Fl_Tiled_ImagePtr, W: int, H: int) -> Fl_Tiled_ImagePtr
extern def Fl_Tiled_Image_scale(self: Fl_Tiled_ImagePtr, width: int, height: int, proportional: int, can_expand: int)
extern def Fl_Tiled_Image_fail(self: Fl_Tiled_ImagePtr) -> int
extern def Fl_Tiled_Image_data_w(self: Fl_Tiled_ImagePtr) -> int
extern def Fl_Tiled_Image_data_h(self: Fl_Tiled_ImagePtr) -> int
extern def Fl_Tiled_Image_d(self: Fl_Tiled_ImagePtr) -> int
extern def Fl_Tiled_Image_ld(self: Fl_Tiled_ImagePtr) -> int
extern def Fl_Tiled_Image_inactive(self: Fl_Tiled_ImagePtr)
extern def Fl_Tiled_Image_from_dyn_ptr(other: Fl_ImagePtr) -> Fl_Tiled_ImagePtr
# ----- Fl_RGB_Image (image_declare) -----
extern def Fl_RGB_Image_draw(self: Fl_RGB_ImagePtr, X: int, Y: int, W: int, H: int)
extern def Fl_RGB_Image_draw_ext(self: Fl_RGB_ImagePtr, X: int, Y: int, W: int, H: int, cx: int, cy: int)
extern def Fl_RGB_Image_width(self: Fl_RGB_ImagePtr) -> int
extern def Fl_RGB_Image_height(self: Fl_RGB_ImagePtr) -> int
extern def Fl_RGB_Image_delete(self: Fl_RGB_ImagePtr)
extern def Fl_RGB_Image_count(self: Fl_RGB_ImagePtr) -> int
extern def Fl_RGB_Image_data(self: Fl_RGB_ImagePtr) -> bytes
extern def Fl_RGB_Image_copy(self: Fl_RGB_ImagePtr) -> Fl_RGB_ImagePtr
extern def Fl_RGB_Image_copy_sized(self: Fl_RGB_ImagePtr, W: int, H: int) -> Fl_RGB_ImagePtr
extern def Fl_RGB_Image_scale(self: Fl_RGB_ImagePtr, width: int, height: int, proportional: int, can_expand: int)
extern def Fl_RGB_Image_fail(self: Fl_RGB_ImagePtr) -> int
extern def Fl_RGB_Image_data_w(self: Fl_RGB_ImagePtr) -> int
extern def Fl_RGB_Image_data_h(self: Fl_RGB_ImagePtr) -> int
extern def Fl_RGB_Image_d(self: Fl_RGB_ImagePtr) -> int
extern def Fl_RGB_Image_ld(self: Fl_RGB_ImagePtr) -> int
extern def Fl_RGB_Image_inactive(self: Fl_RGB_ImagePtr)
extern def Fl_RGB_Image_from_dyn_ptr(other: Fl_ImagePtr) -> Fl_RGB_ImagePtr
# ----- Fl_Shared_Image (image_declare) -----
extern def Fl_Shared_Image_draw(self: Fl_Shared_ImagePtr, X: int, Y: int, W: int, H: int)
extern def Fl_Shared_Image_draw_ext(self: Fl_Shared_ImagePtr, X: int, Y: int, W: int, H: int, cx: int, cy: int)
extern def Fl_Shared_Image_width(self: Fl_Shared_ImagePtr) -> int
extern def Fl_Shared_Image_height(self: Fl_Shared_ImagePtr) -> int
extern def Fl_Shared_Image_delete(self: Fl_Shared_ImagePtr)
extern def Fl_Shared_Image_count(self: Fl_Shared_ImagePtr) -> int
extern def Fl_Shared_Image_data(self: Fl_Shared_ImagePtr) -> bytes
extern def Fl_Shared_Image_copy(self: Fl_Shared_ImagePtr) -> Fl_Shared_ImagePtr
extern def Fl_Shared_Image_copy_sized(self: Fl_Shared_ImagePtr, W: int, H: int) -> Fl_Shared_ImagePtr
extern def Fl_Shared_Image_scale(self: Fl_Shared_ImagePtr, width: int, height: int, proportional: int, can_expand: int)
extern def Fl_Shared_Image_fail(self: Fl_Shared_ImagePtr) -> int
extern def Fl_Shared_Image_data_w(self: Fl_Shared_ImagePtr) -> int
extern def Fl_Shared_Image_data_h(self: Fl_Shared_ImagePtr) -> int
extern def Fl_Shared_Image_d(self: Fl_Shared_ImagePtr) -> int
extern def Fl_Shared_Image_ld(self: Fl_Shared_ImagePtr) -> int
extern def Fl_Shared_Image_inactive(self: Fl_Shared_ImagePtr)
extern def Fl_Shared_Image_from_dyn_ptr(other: Fl_ImagePtr) -> Fl_Shared_ImagePtr
# ----- Fl_ICO_Image (image_declare) -----
extern def Fl_ICO_Image_draw(self: Fl_ICO_ImagePtr, X: int, Y: int, W: int, H: int)
extern def Fl_ICO_Image_draw_ext(self: Fl_ICO_ImagePtr, X: int, Y: int, W: int, H: int, cx: int, cy: int)
extern def Fl_ICO_Image_width(self: Fl_ICO_ImagePtr) -> int
extern def Fl_ICO_Image_height(self: Fl_ICO_ImagePtr) -> int
extern def Fl_ICO_Image_delete(self: Fl_ICO_ImagePtr)
extern def Fl_ICO_Image_count(self: Fl_ICO_ImagePtr) -> int
extern def Fl_ICO_Image_data(self: Fl_ICO_ImagePtr) -> bytes
extern def Fl_ICO_Image_copy(self: Fl_ICO_ImagePtr) -> Fl_ICO_ImagePtr
extern def Fl_ICO_Image_copy_sized(self: Fl_ICO_ImagePtr, W: int, H: int) -> Fl_ICO_ImagePtr
extern def Fl_ICO_Image_scale(self: Fl_ICO_ImagePtr, width: int, height: int, proportional: int, can_expand: int)
extern def Fl_ICO_Image_fail(self: Fl_ICO_ImagePtr) -> int
extern def Fl_ICO_Image_data_w(self: Fl_ICO_ImagePtr) -> int
extern def Fl_ICO_Image_data_h(self: Fl_ICO_ImagePtr) -> int
extern def Fl_ICO_Image_d(self: Fl_ICO_ImagePtr) -> int
extern def Fl_ICO_Image_ld(self: Fl_ICO_ImagePtr) -> int
extern def Fl_ICO_Image_inactive(self: Fl_ICO_ImagePtr)
extern def Fl_ICO_Image_from_dyn_ptr(other: Fl_ImagePtr) -> Fl_ICO_ImagePtr
extern def Fl_Image_color_average(self: Fl_ImagePtr, c: t.CUInt32T, i: t.CFloat)
extern def Fl_Image_desaturate(self: Fl_ImagePtr)
extern def Fl_Image_uncache(self: Fl_ImagePtr)
extern def Fl_Image_label_widget(self: Fl_ImagePtr, w: bytes)
extern def Fl_Image_label_menu_item(self: Fl_ImagePtr, m: bytes)
extern def Fl_Image_set_scaling_algorithm(algorithm: int)
extern def Fl_Image_scaling_algorithm() -> int
extern def Fl_RGB_Image_set_scaling_algorithm(algorithm: int)
extern def Fl_RGB_Image_scaling_algorithm() -> int
extern def Fl_JPEG_Image_new(filename: str) -> Fl_JPEG_ImagePtr
extern def Fl_JPEG_Image_from(data: bytes) -> Fl_JPEG_ImagePtr
extern def Fl_PNG_Image_new(filename: str) -> Fl_PNG_ImagePtr
extern def Fl_PNG_Image_from(data: bytes, size: int) -> Fl_PNG_ImagePtr
extern def Fl_SVG_Image_new(filename: str) -> Fl_SVG_ImagePtr
extern def Fl_SVG_Image_from(data: str) -> Fl_SVG_ImagePtr
extern def Fl_SVG_Image_normalize(self: Fl_SVG_ImagePtr)
extern def Fl_BMP_Image_new(filename: str) -> Fl_BMP_ImagePtr
extern def Fl_BMP_Image_from(data: bytes, len_: t.CInt32T) -> Fl_BMP_ImagePtr
extern def Fl_GIF_Image_new(filename: str) -> Fl_GIF_ImagePtr
extern def Fl_GIF_Image_from(data: bytes, len_: t.CUInt32T) -> Fl_GIF_ImagePtr
extern def Fl_Anim_GIF_Image_new(filename: str, canvas: bytes, flags: t.CUInt16T) -> Fl_Anim_GIF_ImagePtr
extern def Fl_Anim_GIF_Image_from(imagename: str, data: bytes, length: t.CUInt32T, canvas: bytes, flags: t.CUInt16T) -> Fl_Anim_GIF_ImagePtr
extern def Fl_Anim_GIF_Image_delay(self: Fl_Anim_GIF_ImagePtr, frame_: int) -> t.CDouble
extern def Fl_Anim_GIF_Image_set_delay(self: Fl_Anim_GIF_ImagePtr, frame: int, delay: t.CDouble)
extern def Fl_Anim_GIF_Image_is_animated(self: Fl_Anim_GIF_ImagePtr) -> int
extern def Fl_Anim_GIF_Image_set_speed(self: Fl_Anim_GIF_ImagePtr, speed: t.CDouble)
extern def Fl_Anim_GIF_Image_speed(self: Fl_Anim_GIF_ImagePtr) -> t.CDouble
extern def Fl_Anim_GIF_Image_start(self: Fl_Anim_GIF_ImagePtr) -> int
extern def Fl_Anim_GIF_Image_stop(self: Fl_Anim_GIF_ImagePtr) -> int
extern def Fl_Anim_GIF_Image_next(self: Fl_Anim_GIF_ImagePtr) -> int
extern def Fl_Anim_GIF_Image_playing(self: Fl_Anim_GIF_ImagePtr) -> int
extern def Fl_Pixmap_new(D: bytes) -> Fl_PixmapPtr
extern def Fl_XPM_Image_new(filename: str) -> Fl_XPM_ImagePtr
extern def Fl_XBM_Image_new(filename: str) -> Fl_XBM_ImagePtr
extern def Fl_PNM_Image_new(filename: str) -> Fl_PNM_ImagePtr
extern def Fl_Tiled_Image_new(i: Fl_ImagePtr, w: int, h: int) -> Fl_Tiled_ImagePtr
extern def Fl_RGB_Image_new(bits: bytes, W: int, H: int, depth: int, ld: int) -> Fl_RGB_ImagePtr
extern def Fl_RGB_Image_from_data(bits: bytes, W: int, H: int, depth: int, ld: int) -> Fl_RGB_ImagePtr
extern def Fl_RGB_Image_from_pixmap(image: Fl_PixmapPtr) -> Fl_RGB_ImagePtr
extern def Fl_Shared_Image_get(name: str, W: int, H: int) -> Fl_Shared_ImagePtr
extern def Fl_Shared_Image_from_rgb(rgb: Fl_RGB_ImagePtr, own_it: int) -> Fl_Shared_ImagePtr
extern def Fl_ICO_Image_new(filename: str, id: int) -> Fl_ICO_ImagePtr
extern def Fl_ICO_Image_from_data(bits: bytes, len_: t.CUInt32T, id: int) -> Fl_ICO_ImagePtr
extern def Fl_ICO_Image_icondirentry(self: Fl_ICO_ImagePtr, size: bytes) -> bytes
extern def Fl_register_images()
-949
View File
@@ -1,949 +0,0 @@
import t, c
from fltk._types import *
# ============================================================
# fltk/_cfl_input.vp — cfl_input.h 的 extern FFI 声明(对接 cfltk C API)
# ============================================================
# 所有函数直接对应 cfltk 生成的 C 符号(extern "C"),链接目标: cfltk2。
# 类型约定: Fl_* 对象均为不透明指针 (Fl_XxxPtr);const char* → str;
# 函数指针/void* → bytes(Viper 端传 0/NULL 或不使用)。
# ----- Fl_Input (widget_declare) -----
extern def Fl_Input_new(x: int, y: int, width: int, height: int, title: str) -> Fl_InputPtr
extern def Fl_Input_x(self: Fl_InputPtr) -> int
extern def Fl_Input_y(self: Fl_InputPtr) -> int
extern def Fl_Input_width(self: Fl_InputPtr) -> int
extern def Fl_Input_height(self: Fl_InputPtr) -> int
extern def Fl_Input_label(self: Fl_InputPtr) -> str
extern def Fl_Input_set_label(self: Fl_InputPtr, title: str)
extern def Fl_Input_redraw(self: Fl_InputPtr)
extern def Fl_Input_show(self: Fl_InputPtr)
extern def Fl_Input_hide(self: Fl_InputPtr)
extern def Fl_Input_activate(self: Fl_InputPtr)
extern def Fl_Input_deactivate(self: Fl_InputPtr)
extern def Fl_Input_redraw_label(self: Fl_InputPtr)
extern def Fl_Input_resize(self: Fl_InputPtr, x: int, y: int, width: int, height: int)
extern def Fl_Input_widget_resize(self: Fl_InputPtr, x: int, y: int, width: int, height: int)
extern def Fl_Input_tooltip(self: Fl_InputPtr) -> str
extern def Fl_Input_set_tooltip(self: Fl_InputPtr, txt: str)
extern def Fl_Input_get_type(self: Fl_InputPtr) -> int
extern def Fl_Input_set_type(self: Fl_InputPtr, typ: int)
extern def Fl_Input_color(self: Fl_InputPtr) -> t.CUInt32T
extern def Fl_Input_set_color(self: Fl_InputPtr, color: t.CUInt32T)
extern def Fl_Input_measure_label(self: Fl_InputPtr, a1: bytes, a2: bytes)
extern def Fl_Input_label_color(self: Fl_InputPtr) -> t.CUInt32T
extern def Fl_Input_set_label_color(self: Fl_InputPtr, color: t.CUInt32T)
extern def Fl_Input_label_font(self: Fl_InputPtr) -> int
extern def Fl_Input_set_label_font(self: Fl_InputPtr, font: int)
extern def Fl_Input_label_size(self: Fl_InputPtr) -> int
extern def Fl_Input_set_label_size(self: Fl_InputPtr, sz: int)
extern def Fl_Input_label_type(self: Fl_InputPtr) -> int
extern def Fl_Input_set_label_type(self: Fl_InputPtr, typ: int)
extern def Fl_Input_box(self: Fl_InputPtr) -> int
extern def Fl_Input_set_box(self: Fl_InputPtr, typ: int)
extern def Fl_Input_changed(self: Fl_InputPtr) -> int
extern def Fl_Input_set_changed(self: Fl_InputPtr)
extern def Fl_Input_clear_changed(self: Fl_InputPtr)
extern def Fl_Input_align(self: Fl_InputPtr) -> int
extern def Fl_Input_set_align(self: Fl_InputPtr, typ: int)
extern def Fl_Input_delete(self: Fl_InputPtr)
extern def Fl_Input_set_image(self: Fl_InputPtr, a1: bytes)
extern def Fl_Input_handle(self: Fl_InputPtr, cb: bytes, data: bytes)
extern def Fl_Input_handle_event(self: Fl_InputPtr, event: int) -> int
extern def Fl_Input_draw(self: Fl_InputPtr, cb: bytes, data: bytes)
extern def Fl_Input_resize_callback(self: Fl_InputPtr, cb1: bytes, data: bytes)
extern def Fl_Input_set_when(self: Fl_InputPtr, a1: int)
extern def Fl_Input_when(self: Fl_InputPtr) -> int
extern def Fl_Input_image(self: Fl_InputPtr) -> bytes
extern def Fl_Input_parent(self: Fl_InputPtr) -> bytes
extern def Fl_Input_selection_color(self: Fl_InputPtr) -> t.CUInt32T
extern def Fl_Input_set_selection_color(self: Fl_InputPtr, color: t.CUInt32T)
extern def Fl_Input_do_callback(self: Fl_InputPtr)
extern def Fl_Input_inside(self: Fl_InputPtr, a1: bytes) -> int
extern def Fl_Input_window(self: Fl_InputPtr) -> bytes
extern def Fl_Input_top_window(self: Fl_InputPtr) -> bytes
extern def Fl_Input_takes_events(self: Fl_InputPtr) -> int
extern def Fl_Input_user_data(self: Fl_InputPtr) -> bytes
extern def Fl_Input_take_focus(self: Fl_InputPtr) -> int
extern def Fl_Input_set_visible_focus(self: Fl_InputPtr)
extern def Fl_Input_clear_visible_focus(self: Fl_InputPtr)
extern def Fl_Input_visible_focus(self: Fl_InputPtr, v: int)
extern def Fl_Input_has_visible_focus(self: Fl_InputPtr) -> t.CUInt32T
extern def Fl_Input_set_user_data(self: Fl_InputPtr, data: bytes)
extern def Fl_Input_draw_data(self: Fl_InputPtr) -> bytes
extern def Fl_Input_handle_data(self: Fl_InputPtr) -> bytes
extern def Fl_Input_set_draw_data(self: Fl_InputPtr, data: bytes)
extern def Fl_Input_set_handle_data(self: Fl_InputPtr, data: bytes)
extern def Fl_Input_damage(self: Fl_InputPtr) -> t.CUInt8T
extern def Fl_Input_set_damage(self: Fl_InputPtr, flag: t.CUInt8T)
extern def Fl_Input_set_damage_area(self: Fl_InputPtr, flag: t.CUInt8T, x: int, y: int, w: int, h: int)
extern def Fl_Input_clear_damage(self: Fl_InputPtr)
extern def Fl_Input_as_window(self: Fl_InputPtr) -> bytes
extern def Fl_Input_as_group(self: Fl_InputPtr) -> bytes
extern def Fl_Input_set_deimage(self: Fl_InputPtr, a1: bytes)
extern def Fl_Input_deimage(self: Fl_InputPtr) -> bytes
extern def Fl_Input_set_callback(self: Fl_InputPtr, a1: bytes, a2: bytes)
extern def Fl_Input_visible(self: Fl_InputPtr) -> int
extern def Fl_Input_visible_r(self: Fl_InputPtr) -> int
extern def Fl_Input_active(self: Fl_InputPtr) -> t.CUInt32T
extern def Fl_Input_active_r(self: Fl_InputPtr) -> int
extern def Fl_Input_callback(self: Fl_InputPtr) -> bytes
extern def Fl_Input_set_deletion_callback(self: Fl_InputPtr, cb1: bytes, data: bytes)
extern def Fl_Input_from_dyn_ptr(ptr: Fl_WidgetPtr) -> Fl_InputPtr
extern def Fl_Input_from_derived_dyn_ptr(ptr: Fl_WidgetPtr) -> Fl_InputPtr
extern def Fl_Input_super_draw(ptr: Fl_WidgetPtr, flag: int)
extern def Fl_Input_super_draw_first(ptr: Fl_WidgetPtr, flag: int)
extern def Fl_Input_super_handle_first(ptr: Fl_WidgetPtr, flag: int)
# ----- Fl_Input (input_declare) -----
extern def Fl_Input_set_value(self: Fl_InputPtr, a1: str) -> int
extern def Fl_Input_value(self: Fl_InputPtr) -> str
extern def Fl_Input_maximum_size(self: Fl_InputPtr) -> int
extern def Fl_Input_set_maximum_size(self: Fl_InputPtr, m: int)
extern def Fl_Input_position(self: Fl_InputPtr) -> int
extern def Fl_Input_set_position(self: Fl_InputPtr, p: int) -> int
extern def Fl_Input_set_mark(self: Fl_InputPtr, m: int) -> int
extern def Fl_Input_mark(self: Fl_InputPtr) -> int
extern def Fl_Input_replace(self: Fl_InputPtr, b: int, e: int, text: str, ilen: int) -> int
extern def Fl_Input_insert(self: Fl_InputPtr, t: str, l: int) -> int
extern def Fl_Input_append(self: Fl_InputPtr, t: str, l: int, keep_selection: char) -> int
extern def Fl_Input_copy(self: Fl_InputPtr, clipboard: int) -> int
extern def Fl_Input_undo(self: Fl_InputPtr) -> int
extern def Fl_Input_copy_cuts(self: Fl_InputPtr) -> int
extern def Fl_Input_cursor_color(self: Fl_InputPtr) -> t.CUInt32T
extern def Fl_Input_set_cursor_color(self: Fl_InputPtr, s: t.CUInt32T)
extern def Fl_Input_text_font(self: Fl_InputPtr) -> int
extern def Fl_Input_set_text_font(self: Fl_InputPtr, s: int)
extern def Fl_Input_text_color(self: Fl_InputPtr) -> t.CUInt32T
extern def Fl_Input_set_text_color(self: Fl_InputPtr, s: t.CUInt32T)
extern def Fl_Input_text_size(self: Fl_InputPtr) -> int
extern def Fl_Input_set_text_size(self: Fl_InputPtr, s: int)
extern def Fl_Input_readonly(self: Fl_InputPtr) -> int
extern def Fl_Input_set_readonly(self: Fl_InputPtr, boolean: int)
extern def Fl_Input_wrap(self: Fl_InputPtr) -> int
extern def Fl_Input_set_wrap(self: Fl_InputPtr, boolean: int)
extern def Fl_Input_set_tab_nav(self: Fl_InputPtr, flag: int)
extern def Fl_Input_tab_nav(self: Fl_InputPtr) -> int
# ----- Fl_Int_Input (widget_declare) -----
extern def Fl_Int_Input_new(x: int, y: int, width: int, height: int, title: str) -> Fl_Int_InputPtr
extern def Fl_Int_Input_x(self: Fl_Int_InputPtr) -> int
extern def Fl_Int_Input_y(self: Fl_Int_InputPtr) -> int
extern def Fl_Int_Input_width(self: Fl_Int_InputPtr) -> int
extern def Fl_Int_Input_height(self: Fl_Int_InputPtr) -> int
extern def Fl_Int_Input_label(self: Fl_Int_InputPtr) -> str
extern def Fl_Int_Input_set_label(self: Fl_Int_InputPtr, title: str)
extern def Fl_Int_Input_redraw(self: Fl_Int_InputPtr)
extern def Fl_Int_Input_show(self: Fl_Int_InputPtr)
extern def Fl_Int_Input_hide(self: Fl_Int_InputPtr)
extern def Fl_Int_Input_activate(self: Fl_Int_InputPtr)
extern def Fl_Int_Input_deactivate(self: Fl_Int_InputPtr)
extern def Fl_Int_Input_redraw_label(self: Fl_Int_InputPtr)
extern def Fl_Int_Input_resize(self: Fl_Int_InputPtr, x: int, y: int, width: int, height: int)
extern def Fl_Int_Input_widget_resize(self: Fl_Int_InputPtr, x: int, y: int, width: int, height: int)
extern def Fl_Int_Input_tooltip(self: Fl_Int_InputPtr) -> str
extern def Fl_Int_Input_set_tooltip(self: Fl_Int_InputPtr, txt: str)
extern def Fl_Int_Input_get_type(self: Fl_Int_InputPtr) -> int
extern def Fl_Int_Input_set_type(self: Fl_Int_InputPtr, typ: int)
extern def Fl_Int_Input_color(self: Fl_Int_InputPtr) -> t.CUInt32T
extern def Fl_Int_Input_set_color(self: Fl_Int_InputPtr, color: t.CUInt32T)
extern def Fl_Int_Input_measure_label(self: Fl_Int_InputPtr, a1: bytes, a2: bytes)
extern def Fl_Int_Input_label_color(self: Fl_Int_InputPtr) -> t.CUInt32T
extern def Fl_Int_Input_set_label_color(self: Fl_Int_InputPtr, color: t.CUInt32T)
extern def Fl_Int_Input_label_font(self: Fl_Int_InputPtr) -> int
extern def Fl_Int_Input_set_label_font(self: Fl_Int_InputPtr, font: int)
extern def Fl_Int_Input_label_size(self: Fl_Int_InputPtr) -> int
extern def Fl_Int_Input_set_label_size(self: Fl_Int_InputPtr, sz: int)
extern def Fl_Int_Input_label_type(self: Fl_Int_InputPtr) -> int
extern def Fl_Int_Input_set_label_type(self: Fl_Int_InputPtr, typ: int)
extern def Fl_Int_Input_box(self: Fl_Int_InputPtr) -> int
extern def Fl_Int_Input_set_box(self: Fl_Int_InputPtr, typ: int)
extern def Fl_Int_Input_changed(self: Fl_Int_InputPtr) -> int
extern def Fl_Int_Input_set_changed(self: Fl_Int_InputPtr)
extern def Fl_Int_Input_clear_changed(self: Fl_Int_InputPtr)
extern def Fl_Int_Input_align(self: Fl_Int_InputPtr) -> int
extern def Fl_Int_Input_set_align(self: Fl_Int_InputPtr, typ: int)
extern def Fl_Int_Input_delete(self: Fl_Int_InputPtr)
extern def Fl_Int_Input_set_image(self: Fl_Int_InputPtr, a1: bytes)
extern def Fl_Int_Input_handle(self: Fl_Int_InputPtr, cb: bytes, data: bytes)
extern def Fl_Int_Input_handle_event(self: Fl_Int_InputPtr, event: int) -> int
extern def Fl_Int_Input_draw(self: Fl_Int_InputPtr, cb: bytes, data: bytes)
extern def Fl_Int_Input_resize_callback(self: Fl_Int_InputPtr, cb1: bytes, data: bytes)
extern def Fl_Int_Input_set_when(self: Fl_Int_InputPtr, a1: int)
extern def Fl_Int_Input_when(self: Fl_Int_InputPtr) -> int
extern def Fl_Int_Input_image(self: Fl_Int_InputPtr) -> bytes
extern def Fl_Int_Input_parent(self: Fl_Int_InputPtr) -> bytes
extern def Fl_Int_Input_selection_color(self: Fl_Int_InputPtr) -> t.CUInt32T
extern def Fl_Int_Input_set_selection_color(self: Fl_Int_InputPtr, color: t.CUInt32T)
extern def Fl_Int_Input_do_callback(self: Fl_Int_InputPtr)
extern def Fl_Int_Input_inside(self: Fl_Int_InputPtr, a1: bytes) -> int
extern def Fl_Int_Input_window(self: Fl_Int_InputPtr) -> bytes
extern def Fl_Int_Input_top_window(self: Fl_Int_InputPtr) -> bytes
extern def Fl_Int_Input_takes_events(self: Fl_Int_InputPtr) -> int
extern def Fl_Int_Input_user_data(self: Fl_Int_InputPtr) -> bytes
extern def Fl_Int_Input_take_focus(self: Fl_Int_InputPtr) -> int
extern def Fl_Int_Input_set_visible_focus(self: Fl_Int_InputPtr)
extern def Fl_Int_Input_clear_visible_focus(self: Fl_Int_InputPtr)
extern def Fl_Int_Input_visible_focus(self: Fl_Int_InputPtr, v: int)
extern def Fl_Int_Input_has_visible_focus(self: Fl_Int_InputPtr) -> t.CUInt32T
extern def Fl_Int_Input_set_user_data(self: Fl_Int_InputPtr, data: bytes)
extern def Fl_Int_Input_draw_data(self: Fl_Int_InputPtr) -> bytes
extern def Fl_Int_Input_handle_data(self: Fl_Int_InputPtr) -> bytes
extern def Fl_Int_Input_set_draw_data(self: Fl_Int_InputPtr, data: bytes)
extern def Fl_Int_Input_set_handle_data(self: Fl_Int_InputPtr, data: bytes)
extern def Fl_Int_Input_damage(self: Fl_Int_InputPtr) -> t.CUInt8T
extern def Fl_Int_Input_set_damage(self: Fl_Int_InputPtr, flag: t.CUInt8T)
extern def Fl_Int_Input_set_damage_area(self: Fl_Int_InputPtr, flag: t.CUInt8T, x: int, y: int, w: int, h: int)
extern def Fl_Int_Input_clear_damage(self: Fl_Int_InputPtr)
extern def Fl_Int_Input_as_window(self: Fl_Int_InputPtr) -> bytes
extern def Fl_Int_Input_as_group(self: Fl_Int_InputPtr) -> bytes
extern def Fl_Int_Input_set_deimage(self: Fl_Int_InputPtr, a1: bytes)
extern def Fl_Int_Input_deimage(self: Fl_Int_InputPtr) -> bytes
extern def Fl_Int_Input_set_callback(self: Fl_Int_InputPtr, a1: bytes, a2: bytes)
extern def Fl_Int_Input_visible(self: Fl_Int_InputPtr) -> int
extern def Fl_Int_Input_visible_r(self: Fl_Int_InputPtr) -> int
extern def Fl_Int_Input_active(self: Fl_Int_InputPtr) -> t.CUInt32T
extern def Fl_Int_Input_active_r(self: Fl_Int_InputPtr) -> int
extern def Fl_Int_Input_callback(self: Fl_Int_InputPtr) -> bytes
extern def Fl_Int_Input_set_deletion_callback(self: Fl_Int_InputPtr, cb1: bytes, data: bytes)
extern def Fl_Int_Input_from_dyn_ptr(ptr: Fl_WidgetPtr) -> Fl_Int_InputPtr
extern def Fl_Int_Input_from_derived_dyn_ptr(ptr: Fl_WidgetPtr) -> Fl_Int_InputPtr
extern def Fl_Int_Input_super_draw(ptr: Fl_WidgetPtr, flag: int)
extern def Fl_Int_Input_super_draw_first(ptr: Fl_WidgetPtr, flag: int)
extern def Fl_Int_Input_super_handle_first(ptr: Fl_WidgetPtr, flag: int)
# ----- Fl_Int_Input (input_declare) -----
extern def Fl_Int_Input_set_value(self: Fl_Int_InputPtr, a1: str) -> int
extern def Fl_Int_Input_value(self: Fl_Int_InputPtr) -> str
extern def Fl_Int_Input_maximum_size(self: Fl_Int_InputPtr) -> int
extern def Fl_Int_Input_set_maximum_size(self: Fl_Int_InputPtr, m: int)
extern def Fl_Int_Input_position(self: Fl_Int_InputPtr) -> int
extern def Fl_Int_Input_set_position(self: Fl_Int_InputPtr, p: int) -> int
extern def Fl_Int_Input_set_mark(self: Fl_Int_InputPtr, m: int) -> int
extern def Fl_Int_Input_mark(self: Fl_Int_InputPtr) -> int
extern def Fl_Int_Input_replace(self: Fl_Int_InputPtr, b: int, e: int, text: str, ilen: int) -> int
extern def Fl_Int_Input_insert(self: Fl_Int_InputPtr, t: str, l: int) -> int
extern def Fl_Int_Input_append(self: Fl_Int_InputPtr, t: str, l: int, keep_selection: char) -> int
extern def Fl_Int_Input_copy(self: Fl_Int_InputPtr, clipboard: int) -> int
extern def Fl_Int_Input_undo(self: Fl_Int_InputPtr) -> int
extern def Fl_Int_Input_copy_cuts(self: Fl_Int_InputPtr) -> int
extern def Fl_Int_Input_cursor_color(self: Fl_Int_InputPtr) -> t.CUInt32T
extern def Fl_Int_Input_set_cursor_color(self: Fl_Int_InputPtr, s: t.CUInt32T)
extern def Fl_Int_Input_text_font(self: Fl_Int_InputPtr) -> int
extern def Fl_Int_Input_set_text_font(self: Fl_Int_InputPtr, s: int)
extern def Fl_Int_Input_text_color(self: Fl_Int_InputPtr) -> t.CUInt32T
extern def Fl_Int_Input_set_text_color(self: Fl_Int_InputPtr, s: t.CUInt32T)
extern def Fl_Int_Input_text_size(self: Fl_Int_InputPtr) -> int
extern def Fl_Int_Input_set_text_size(self: Fl_Int_InputPtr, s: int)
extern def Fl_Int_Input_readonly(self: Fl_Int_InputPtr) -> int
extern def Fl_Int_Input_set_readonly(self: Fl_Int_InputPtr, boolean: int)
extern def Fl_Int_Input_wrap(self: Fl_Int_InputPtr) -> int
extern def Fl_Int_Input_set_wrap(self: Fl_Int_InputPtr, boolean: int)
extern def Fl_Int_Input_set_tab_nav(self: Fl_Int_InputPtr, flag: int)
extern def Fl_Int_Input_tab_nav(self: Fl_Int_InputPtr) -> int
# ----- Fl_Float_Input (widget_declare) -----
extern def Fl_Float_Input_new(x: int, y: int, width: int, height: int, title: str) -> Fl_Float_InputPtr
extern def Fl_Float_Input_x(self: Fl_Float_InputPtr) -> int
extern def Fl_Float_Input_y(self: Fl_Float_InputPtr) -> int
extern def Fl_Float_Input_width(self: Fl_Float_InputPtr) -> int
extern def Fl_Float_Input_height(self: Fl_Float_InputPtr) -> int
extern def Fl_Float_Input_label(self: Fl_Float_InputPtr) -> str
extern def Fl_Float_Input_set_label(self: Fl_Float_InputPtr, title: str)
extern def Fl_Float_Input_redraw(self: Fl_Float_InputPtr)
extern def Fl_Float_Input_show(self: Fl_Float_InputPtr)
extern def Fl_Float_Input_hide(self: Fl_Float_InputPtr)
extern def Fl_Float_Input_activate(self: Fl_Float_InputPtr)
extern def Fl_Float_Input_deactivate(self: Fl_Float_InputPtr)
extern def Fl_Float_Input_redraw_label(self: Fl_Float_InputPtr)
extern def Fl_Float_Input_resize(self: Fl_Float_InputPtr, x: int, y: int, width: int, height: int)
extern def Fl_Float_Input_widget_resize(self: Fl_Float_InputPtr, x: int, y: int, width: int, height: int)
extern def Fl_Float_Input_tooltip(self: Fl_Float_InputPtr) -> str
extern def Fl_Float_Input_set_tooltip(self: Fl_Float_InputPtr, txt: str)
extern def Fl_Float_Input_get_type(self: Fl_Float_InputPtr) -> int
extern def Fl_Float_Input_set_type(self: Fl_Float_InputPtr, typ: int)
extern def Fl_Float_Input_color(self: Fl_Float_InputPtr) -> t.CUInt32T
extern def Fl_Float_Input_set_color(self: Fl_Float_InputPtr, color: t.CUInt32T)
extern def Fl_Float_Input_measure_label(self: Fl_Float_InputPtr, a1: bytes, a2: bytes)
extern def Fl_Float_Input_label_color(self: Fl_Float_InputPtr) -> t.CUInt32T
extern def Fl_Float_Input_set_label_color(self: Fl_Float_InputPtr, color: t.CUInt32T)
extern def Fl_Float_Input_label_font(self: Fl_Float_InputPtr) -> int
extern def Fl_Float_Input_set_label_font(self: Fl_Float_InputPtr, font: int)
extern def Fl_Float_Input_label_size(self: Fl_Float_InputPtr) -> int
extern def Fl_Float_Input_set_label_size(self: Fl_Float_InputPtr, sz: int)
extern def Fl_Float_Input_label_type(self: Fl_Float_InputPtr) -> int
extern def Fl_Float_Input_set_label_type(self: Fl_Float_InputPtr, typ: int)
extern def Fl_Float_Input_box(self: Fl_Float_InputPtr) -> int
extern def Fl_Float_Input_set_box(self: Fl_Float_InputPtr, typ: int)
extern def Fl_Float_Input_changed(self: Fl_Float_InputPtr) -> int
extern def Fl_Float_Input_set_changed(self: Fl_Float_InputPtr)
extern def Fl_Float_Input_clear_changed(self: Fl_Float_InputPtr)
extern def Fl_Float_Input_align(self: Fl_Float_InputPtr) -> int
extern def Fl_Float_Input_set_align(self: Fl_Float_InputPtr, typ: int)
extern def Fl_Float_Input_delete(self: Fl_Float_InputPtr)
extern def Fl_Float_Input_set_image(self: Fl_Float_InputPtr, a1: bytes)
extern def Fl_Float_Input_handle(self: Fl_Float_InputPtr, cb: bytes, data: bytes)
extern def Fl_Float_Input_handle_event(self: Fl_Float_InputPtr, event: int) -> int
extern def Fl_Float_Input_draw(self: Fl_Float_InputPtr, cb: bytes, data: bytes)
extern def Fl_Float_Input_resize_callback(self: Fl_Float_InputPtr, cb1: bytes, data: bytes)
extern def Fl_Float_Input_set_when(self: Fl_Float_InputPtr, a1: int)
extern def Fl_Float_Input_when(self: Fl_Float_InputPtr) -> int
extern def Fl_Float_Input_image(self: Fl_Float_InputPtr) -> bytes
extern def Fl_Float_Input_parent(self: Fl_Float_InputPtr) -> bytes
extern def Fl_Float_Input_selection_color(self: Fl_Float_InputPtr) -> t.CUInt32T
extern def Fl_Float_Input_set_selection_color(self: Fl_Float_InputPtr, color: t.CUInt32T)
extern def Fl_Float_Input_do_callback(self: Fl_Float_InputPtr)
extern def Fl_Float_Input_inside(self: Fl_Float_InputPtr, a1: bytes) -> int
extern def Fl_Float_Input_window(self: Fl_Float_InputPtr) -> bytes
extern def Fl_Float_Input_top_window(self: Fl_Float_InputPtr) -> bytes
extern def Fl_Float_Input_takes_events(self: Fl_Float_InputPtr) -> int
extern def Fl_Float_Input_user_data(self: Fl_Float_InputPtr) -> bytes
extern def Fl_Float_Input_take_focus(self: Fl_Float_InputPtr) -> int
extern def Fl_Float_Input_set_visible_focus(self: Fl_Float_InputPtr)
extern def Fl_Float_Input_clear_visible_focus(self: Fl_Float_InputPtr)
extern def Fl_Float_Input_visible_focus(self: Fl_Float_InputPtr, v: int)
extern def Fl_Float_Input_has_visible_focus(self: Fl_Float_InputPtr) -> t.CUInt32T
extern def Fl_Float_Input_set_user_data(self: Fl_Float_InputPtr, data: bytes)
extern def Fl_Float_Input_draw_data(self: Fl_Float_InputPtr) -> bytes
extern def Fl_Float_Input_handle_data(self: Fl_Float_InputPtr) -> bytes
extern def Fl_Float_Input_set_draw_data(self: Fl_Float_InputPtr, data: bytes)
extern def Fl_Float_Input_set_handle_data(self: Fl_Float_InputPtr, data: bytes)
extern def Fl_Float_Input_damage(self: Fl_Float_InputPtr) -> t.CUInt8T
extern def Fl_Float_Input_set_damage(self: Fl_Float_InputPtr, flag: t.CUInt8T)
extern def Fl_Float_Input_set_damage_area(self: Fl_Float_InputPtr, flag: t.CUInt8T, x: int, y: int, w: int, h: int)
extern def Fl_Float_Input_clear_damage(self: Fl_Float_InputPtr)
extern def Fl_Float_Input_as_window(self: Fl_Float_InputPtr) -> bytes
extern def Fl_Float_Input_as_group(self: Fl_Float_InputPtr) -> bytes
extern def Fl_Float_Input_set_deimage(self: Fl_Float_InputPtr, a1: bytes)
extern def Fl_Float_Input_deimage(self: Fl_Float_InputPtr) -> bytes
extern def Fl_Float_Input_set_callback(self: Fl_Float_InputPtr, a1: bytes, a2: bytes)
extern def Fl_Float_Input_visible(self: Fl_Float_InputPtr) -> int
extern def Fl_Float_Input_visible_r(self: Fl_Float_InputPtr) -> int
extern def Fl_Float_Input_active(self: Fl_Float_InputPtr) -> t.CUInt32T
extern def Fl_Float_Input_active_r(self: Fl_Float_InputPtr) -> int
extern def Fl_Float_Input_callback(self: Fl_Float_InputPtr) -> bytes
extern def Fl_Float_Input_set_deletion_callback(self: Fl_Float_InputPtr, cb1: bytes, data: bytes)
extern def Fl_Float_Input_from_dyn_ptr(ptr: Fl_WidgetPtr) -> Fl_Float_InputPtr
extern def Fl_Float_Input_from_derived_dyn_ptr(ptr: Fl_WidgetPtr) -> Fl_Float_InputPtr
extern def Fl_Float_Input_super_draw(ptr: Fl_WidgetPtr, flag: int)
extern def Fl_Float_Input_super_draw_first(ptr: Fl_WidgetPtr, flag: int)
extern def Fl_Float_Input_super_handle_first(ptr: Fl_WidgetPtr, flag: int)
# ----- Fl_Float_Input (input_declare) -----
extern def Fl_Float_Input_set_value(self: Fl_Float_InputPtr, a1: str) -> int
extern def Fl_Float_Input_value(self: Fl_Float_InputPtr) -> str
extern def Fl_Float_Input_maximum_size(self: Fl_Float_InputPtr) -> int
extern def Fl_Float_Input_set_maximum_size(self: Fl_Float_InputPtr, m: int)
extern def Fl_Float_Input_position(self: Fl_Float_InputPtr) -> int
extern def Fl_Float_Input_set_position(self: Fl_Float_InputPtr, p: int) -> int
extern def Fl_Float_Input_set_mark(self: Fl_Float_InputPtr, m: int) -> int
extern def Fl_Float_Input_mark(self: Fl_Float_InputPtr) -> int
extern def Fl_Float_Input_replace(self: Fl_Float_InputPtr, b: int, e: int, text: str, ilen: int) -> int
extern def Fl_Float_Input_insert(self: Fl_Float_InputPtr, t: str, l: int) -> int
extern def Fl_Float_Input_append(self: Fl_Float_InputPtr, t: str, l: int, keep_selection: char) -> int
extern def Fl_Float_Input_copy(self: Fl_Float_InputPtr, clipboard: int) -> int
extern def Fl_Float_Input_undo(self: Fl_Float_InputPtr) -> int
extern def Fl_Float_Input_copy_cuts(self: Fl_Float_InputPtr) -> int
extern def Fl_Float_Input_cursor_color(self: Fl_Float_InputPtr) -> t.CUInt32T
extern def Fl_Float_Input_set_cursor_color(self: Fl_Float_InputPtr, s: t.CUInt32T)
extern def Fl_Float_Input_text_font(self: Fl_Float_InputPtr) -> int
extern def Fl_Float_Input_set_text_font(self: Fl_Float_InputPtr, s: int)
extern def Fl_Float_Input_text_color(self: Fl_Float_InputPtr) -> t.CUInt32T
extern def Fl_Float_Input_set_text_color(self: Fl_Float_InputPtr, s: t.CUInt32T)
extern def Fl_Float_Input_text_size(self: Fl_Float_InputPtr) -> int
extern def Fl_Float_Input_set_text_size(self: Fl_Float_InputPtr, s: int)
extern def Fl_Float_Input_readonly(self: Fl_Float_InputPtr) -> int
extern def Fl_Float_Input_set_readonly(self: Fl_Float_InputPtr, boolean: int)
extern def Fl_Float_Input_wrap(self: Fl_Float_InputPtr) -> int
extern def Fl_Float_Input_set_wrap(self: Fl_Float_InputPtr, boolean: int)
extern def Fl_Float_Input_set_tab_nav(self: Fl_Float_InputPtr, flag: int)
extern def Fl_Float_Input_tab_nav(self: Fl_Float_InputPtr) -> int
# ----- Fl_Multiline_Input (widget_declare) -----
extern def Fl_Multiline_Input_new(x: int, y: int, width: int, height: int, title: str) -> Fl_Multiline_InputPtr
extern def Fl_Multiline_Input_x(self: Fl_Multiline_InputPtr) -> int
extern def Fl_Multiline_Input_y(self: Fl_Multiline_InputPtr) -> int
extern def Fl_Multiline_Input_width(self: Fl_Multiline_InputPtr) -> int
extern def Fl_Multiline_Input_height(self: Fl_Multiline_InputPtr) -> int
extern def Fl_Multiline_Input_label(self: Fl_Multiline_InputPtr) -> str
extern def Fl_Multiline_Input_set_label(self: Fl_Multiline_InputPtr, title: str)
extern def Fl_Multiline_Input_redraw(self: Fl_Multiline_InputPtr)
extern def Fl_Multiline_Input_show(self: Fl_Multiline_InputPtr)
extern def Fl_Multiline_Input_hide(self: Fl_Multiline_InputPtr)
extern def Fl_Multiline_Input_activate(self: Fl_Multiline_InputPtr)
extern def Fl_Multiline_Input_deactivate(self: Fl_Multiline_InputPtr)
extern def Fl_Multiline_Input_redraw_label(self: Fl_Multiline_InputPtr)
extern def Fl_Multiline_Input_resize(self: Fl_Multiline_InputPtr, x: int, y: int, width: int, height: int)
extern def Fl_Multiline_Input_widget_resize(self: Fl_Multiline_InputPtr, x: int, y: int, width: int, height: int)
extern def Fl_Multiline_Input_tooltip(self: Fl_Multiline_InputPtr) -> str
extern def Fl_Multiline_Input_set_tooltip(self: Fl_Multiline_InputPtr, txt: str)
extern def Fl_Multiline_Input_get_type(self: Fl_Multiline_InputPtr) -> int
extern def Fl_Multiline_Input_set_type(self: Fl_Multiline_InputPtr, typ: int)
extern def Fl_Multiline_Input_color(self: Fl_Multiline_InputPtr) -> t.CUInt32T
extern def Fl_Multiline_Input_set_color(self: Fl_Multiline_InputPtr, color: t.CUInt32T)
extern def Fl_Multiline_Input_measure_label(self: Fl_Multiline_InputPtr, a1: bytes, a2: bytes)
extern def Fl_Multiline_Input_label_color(self: Fl_Multiline_InputPtr) -> t.CUInt32T
extern def Fl_Multiline_Input_set_label_color(self: Fl_Multiline_InputPtr, color: t.CUInt32T)
extern def Fl_Multiline_Input_label_font(self: Fl_Multiline_InputPtr) -> int
extern def Fl_Multiline_Input_set_label_font(self: Fl_Multiline_InputPtr, font: int)
extern def Fl_Multiline_Input_label_size(self: Fl_Multiline_InputPtr) -> int
extern def Fl_Multiline_Input_set_label_size(self: Fl_Multiline_InputPtr, sz: int)
extern def Fl_Multiline_Input_label_type(self: Fl_Multiline_InputPtr) -> int
extern def Fl_Multiline_Input_set_label_type(self: Fl_Multiline_InputPtr, typ: int)
extern def Fl_Multiline_Input_box(self: Fl_Multiline_InputPtr) -> int
extern def Fl_Multiline_Input_set_box(self: Fl_Multiline_InputPtr, typ: int)
extern def Fl_Multiline_Input_changed(self: Fl_Multiline_InputPtr) -> int
extern def Fl_Multiline_Input_set_changed(self: Fl_Multiline_InputPtr)
extern def Fl_Multiline_Input_clear_changed(self: Fl_Multiline_InputPtr)
extern def Fl_Multiline_Input_align(self: Fl_Multiline_InputPtr) -> int
extern def Fl_Multiline_Input_set_align(self: Fl_Multiline_InputPtr, typ: int)
extern def Fl_Multiline_Input_delete(self: Fl_Multiline_InputPtr)
extern def Fl_Multiline_Input_set_image(self: Fl_Multiline_InputPtr, a1: bytes)
extern def Fl_Multiline_Input_handle(self: Fl_Multiline_InputPtr, cb: bytes, data: bytes)
extern def Fl_Multiline_Input_handle_event(self: Fl_Multiline_InputPtr, event: int) -> int
extern def Fl_Multiline_Input_draw(self: Fl_Multiline_InputPtr, cb: bytes, data: bytes)
extern def Fl_Multiline_Input_resize_callback(self: Fl_Multiline_InputPtr, cb1: bytes, data: bytes)
extern def Fl_Multiline_Input_set_when(self: Fl_Multiline_InputPtr, a1: int)
extern def Fl_Multiline_Input_when(self: Fl_Multiline_InputPtr) -> int
extern def Fl_Multiline_Input_image(self: Fl_Multiline_InputPtr) -> bytes
extern def Fl_Multiline_Input_parent(self: Fl_Multiline_InputPtr) -> bytes
extern def Fl_Multiline_Input_selection_color(self: Fl_Multiline_InputPtr) -> t.CUInt32T
extern def Fl_Multiline_Input_set_selection_color(self: Fl_Multiline_InputPtr, color: t.CUInt32T)
extern def Fl_Multiline_Input_do_callback(self: Fl_Multiline_InputPtr)
extern def Fl_Multiline_Input_inside(self: Fl_Multiline_InputPtr, a1: bytes) -> int
extern def Fl_Multiline_Input_window(self: Fl_Multiline_InputPtr) -> bytes
extern def Fl_Multiline_Input_top_window(self: Fl_Multiline_InputPtr) -> bytes
extern def Fl_Multiline_Input_takes_events(self: Fl_Multiline_InputPtr) -> int
extern def Fl_Multiline_Input_user_data(self: Fl_Multiline_InputPtr) -> bytes
extern def Fl_Multiline_Input_take_focus(self: Fl_Multiline_InputPtr) -> int
extern def Fl_Multiline_Input_set_visible_focus(self: Fl_Multiline_InputPtr)
extern def Fl_Multiline_Input_clear_visible_focus(self: Fl_Multiline_InputPtr)
extern def Fl_Multiline_Input_visible_focus(self: Fl_Multiline_InputPtr, v: int)
extern def Fl_Multiline_Input_has_visible_focus(self: Fl_Multiline_InputPtr) -> t.CUInt32T
extern def Fl_Multiline_Input_set_user_data(self: Fl_Multiline_InputPtr, data: bytes)
extern def Fl_Multiline_Input_draw_data(self: Fl_Multiline_InputPtr) -> bytes
extern def Fl_Multiline_Input_handle_data(self: Fl_Multiline_InputPtr) -> bytes
extern def Fl_Multiline_Input_set_draw_data(self: Fl_Multiline_InputPtr, data: bytes)
extern def Fl_Multiline_Input_set_handle_data(self: Fl_Multiline_InputPtr, data: bytes)
extern def Fl_Multiline_Input_damage(self: Fl_Multiline_InputPtr) -> t.CUInt8T
extern def Fl_Multiline_Input_set_damage(self: Fl_Multiline_InputPtr, flag: t.CUInt8T)
extern def Fl_Multiline_Input_set_damage_area(self: Fl_Multiline_InputPtr, flag: t.CUInt8T, x: int, y: int, w: int, h: int)
extern def Fl_Multiline_Input_clear_damage(self: Fl_Multiline_InputPtr)
extern def Fl_Multiline_Input_as_window(self: Fl_Multiline_InputPtr) -> bytes
extern def Fl_Multiline_Input_as_group(self: Fl_Multiline_InputPtr) -> bytes
extern def Fl_Multiline_Input_set_deimage(self: Fl_Multiline_InputPtr, a1: bytes)
extern def Fl_Multiline_Input_deimage(self: Fl_Multiline_InputPtr) -> bytes
extern def Fl_Multiline_Input_set_callback(self: Fl_Multiline_InputPtr, a1: bytes, a2: bytes)
extern def Fl_Multiline_Input_visible(self: Fl_Multiline_InputPtr) -> int
extern def Fl_Multiline_Input_visible_r(self: Fl_Multiline_InputPtr) -> int
extern def Fl_Multiline_Input_active(self: Fl_Multiline_InputPtr) -> t.CUInt32T
extern def Fl_Multiline_Input_active_r(self: Fl_Multiline_InputPtr) -> int
extern def Fl_Multiline_Input_callback(self: Fl_Multiline_InputPtr) -> bytes
extern def Fl_Multiline_Input_set_deletion_callback(self: Fl_Multiline_InputPtr, cb1: bytes, data: bytes)
extern def Fl_Multiline_Input_from_dyn_ptr(ptr: Fl_WidgetPtr) -> Fl_Multiline_InputPtr
extern def Fl_Multiline_Input_from_derived_dyn_ptr(ptr: Fl_WidgetPtr) -> Fl_Multiline_InputPtr
extern def Fl_Multiline_Input_super_draw(ptr: Fl_WidgetPtr, flag: int)
extern def Fl_Multiline_Input_super_draw_first(ptr: Fl_WidgetPtr, flag: int)
extern def Fl_Multiline_Input_super_handle_first(ptr: Fl_WidgetPtr, flag: int)
# ----- Fl_Multiline_Input (input_declare) -----
extern def Fl_Multiline_Input_set_value(self: Fl_Multiline_InputPtr, a1: str) -> int
extern def Fl_Multiline_Input_value(self: Fl_Multiline_InputPtr) -> str
extern def Fl_Multiline_Input_maximum_size(self: Fl_Multiline_InputPtr) -> int
extern def Fl_Multiline_Input_set_maximum_size(self: Fl_Multiline_InputPtr, m: int)
extern def Fl_Multiline_Input_position(self: Fl_Multiline_InputPtr) -> int
extern def Fl_Multiline_Input_set_position(self: Fl_Multiline_InputPtr, p: int) -> int
extern def Fl_Multiline_Input_set_mark(self: Fl_Multiline_InputPtr, m: int) -> int
extern def Fl_Multiline_Input_mark(self: Fl_Multiline_InputPtr) -> int
extern def Fl_Multiline_Input_replace(self: Fl_Multiline_InputPtr, b: int, e: int, text: str, ilen: int) -> int
extern def Fl_Multiline_Input_insert(self: Fl_Multiline_InputPtr, t: str, l: int) -> int
extern def Fl_Multiline_Input_append(self: Fl_Multiline_InputPtr, t: str, l: int, keep_selection: char) -> int
extern def Fl_Multiline_Input_copy(self: Fl_Multiline_InputPtr, clipboard: int) -> int
extern def Fl_Multiline_Input_undo(self: Fl_Multiline_InputPtr) -> int
extern def Fl_Multiline_Input_copy_cuts(self: Fl_Multiline_InputPtr) -> int
extern def Fl_Multiline_Input_cursor_color(self: Fl_Multiline_InputPtr) -> t.CUInt32T
extern def Fl_Multiline_Input_set_cursor_color(self: Fl_Multiline_InputPtr, s: t.CUInt32T)
extern def Fl_Multiline_Input_text_font(self: Fl_Multiline_InputPtr) -> int
extern def Fl_Multiline_Input_set_text_font(self: Fl_Multiline_InputPtr, s: int)
extern def Fl_Multiline_Input_text_color(self: Fl_Multiline_InputPtr) -> t.CUInt32T
extern def Fl_Multiline_Input_set_text_color(self: Fl_Multiline_InputPtr, s: t.CUInt32T)
extern def Fl_Multiline_Input_text_size(self: Fl_Multiline_InputPtr) -> int
extern def Fl_Multiline_Input_set_text_size(self: Fl_Multiline_InputPtr, s: int)
extern def Fl_Multiline_Input_readonly(self: Fl_Multiline_InputPtr) -> int
extern def Fl_Multiline_Input_set_readonly(self: Fl_Multiline_InputPtr, boolean: int)
extern def Fl_Multiline_Input_wrap(self: Fl_Multiline_InputPtr) -> int
extern def Fl_Multiline_Input_set_wrap(self: Fl_Multiline_InputPtr, boolean: int)
extern def Fl_Multiline_Input_set_tab_nav(self: Fl_Multiline_InputPtr, flag: int)
extern def Fl_Multiline_Input_tab_nav(self: Fl_Multiline_InputPtr) -> int
# ----- Fl_Secret_Input (widget_declare) -----
extern def Fl_Secret_Input_new(x: int, y: int, width: int, height: int, title: str) -> Fl_Secret_InputPtr
extern def Fl_Secret_Input_x(self: Fl_Secret_InputPtr) -> int
extern def Fl_Secret_Input_y(self: Fl_Secret_InputPtr) -> int
extern def Fl_Secret_Input_width(self: Fl_Secret_InputPtr) -> int
extern def Fl_Secret_Input_height(self: Fl_Secret_InputPtr) -> int
extern def Fl_Secret_Input_label(self: Fl_Secret_InputPtr) -> str
extern def Fl_Secret_Input_set_label(self: Fl_Secret_InputPtr, title: str)
extern def Fl_Secret_Input_redraw(self: Fl_Secret_InputPtr)
extern def Fl_Secret_Input_show(self: Fl_Secret_InputPtr)
extern def Fl_Secret_Input_hide(self: Fl_Secret_InputPtr)
extern def Fl_Secret_Input_activate(self: Fl_Secret_InputPtr)
extern def Fl_Secret_Input_deactivate(self: Fl_Secret_InputPtr)
extern def Fl_Secret_Input_redraw_label(self: Fl_Secret_InputPtr)
extern def Fl_Secret_Input_resize(self: Fl_Secret_InputPtr, x: int, y: int, width: int, height: int)
extern def Fl_Secret_Input_widget_resize(self: Fl_Secret_InputPtr, x: int, y: int, width: int, height: int)
extern def Fl_Secret_Input_tooltip(self: Fl_Secret_InputPtr) -> str
extern def Fl_Secret_Input_set_tooltip(self: Fl_Secret_InputPtr, txt: str)
extern def Fl_Secret_Input_get_type(self: Fl_Secret_InputPtr) -> int
extern def Fl_Secret_Input_set_type(self: Fl_Secret_InputPtr, typ: int)
extern def Fl_Secret_Input_color(self: Fl_Secret_InputPtr) -> t.CUInt32T
extern def Fl_Secret_Input_set_color(self: Fl_Secret_InputPtr, color: t.CUInt32T)
extern def Fl_Secret_Input_measure_label(self: Fl_Secret_InputPtr, a1: bytes, a2: bytes)
extern def Fl_Secret_Input_label_color(self: Fl_Secret_InputPtr) -> t.CUInt32T
extern def Fl_Secret_Input_set_label_color(self: Fl_Secret_InputPtr, color: t.CUInt32T)
extern def Fl_Secret_Input_label_font(self: Fl_Secret_InputPtr) -> int
extern def Fl_Secret_Input_set_label_font(self: Fl_Secret_InputPtr, font: int)
extern def Fl_Secret_Input_label_size(self: Fl_Secret_InputPtr) -> int
extern def Fl_Secret_Input_set_label_size(self: Fl_Secret_InputPtr, sz: int)
extern def Fl_Secret_Input_label_type(self: Fl_Secret_InputPtr) -> int
extern def Fl_Secret_Input_set_label_type(self: Fl_Secret_InputPtr, typ: int)
extern def Fl_Secret_Input_box(self: Fl_Secret_InputPtr) -> int
extern def Fl_Secret_Input_set_box(self: Fl_Secret_InputPtr, typ: int)
extern def Fl_Secret_Input_changed(self: Fl_Secret_InputPtr) -> int
extern def Fl_Secret_Input_set_changed(self: Fl_Secret_InputPtr)
extern def Fl_Secret_Input_clear_changed(self: Fl_Secret_InputPtr)
extern def Fl_Secret_Input_align(self: Fl_Secret_InputPtr) -> int
extern def Fl_Secret_Input_set_align(self: Fl_Secret_InputPtr, typ: int)
extern def Fl_Secret_Input_delete(self: Fl_Secret_InputPtr)
extern def Fl_Secret_Input_set_image(self: Fl_Secret_InputPtr, a1: bytes)
extern def Fl_Secret_Input_handle(self: Fl_Secret_InputPtr, cb: bytes, data: bytes)
extern def Fl_Secret_Input_handle_event(self: Fl_Secret_InputPtr, event: int) -> int
extern def Fl_Secret_Input_draw(self: Fl_Secret_InputPtr, cb: bytes, data: bytes)
extern def Fl_Secret_Input_resize_callback(self: Fl_Secret_InputPtr, cb1: bytes, data: bytes)
extern def Fl_Secret_Input_set_when(self: Fl_Secret_InputPtr, a1: int)
extern def Fl_Secret_Input_when(self: Fl_Secret_InputPtr) -> int
extern def Fl_Secret_Input_image(self: Fl_Secret_InputPtr) -> bytes
extern def Fl_Secret_Input_parent(self: Fl_Secret_InputPtr) -> bytes
extern def Fl_Secret_Input_selection_color(self: Fl_Secret_InputPtr) -> t.CUInt32T
extern def Fl_Secret_Input_set_selection_color(self: Fl_Secret_InputPtr, color: t.CUInt32T)
extern def Fl_Secret_Input_do_callback(self: Fl_Secret_InputPtr)
extern def Fl_Secret_Input_inside(self: Fl_Secret_InputPtr, a1: bytes) -> int
extern def Fl_Secret_Input_window(self: Fl_Secret_InputPtr) -> bytes
extern def Fl_Secret_Input_top_window(self: Fl_Secret_InputPtr) -> bytes
extern def Fl_Secret_Input_takes_events(self: Fl_Secret_InputPtr) -> int
extern def Fl_Secret_Input_user_data(self: Fl_Secret_InputPtr) -> bytes
extern def Fl_Secret_Input_take_focus(self: Fl_Secret_InputPtr) -> int
extern def Fl_Secret_Input_set_visible_focus(self: Fl_Secret_InputPtr)
extern def Fl_Secret_Input_clear_visible_focus(self: Fl_Secret_InputPtr)
extern def Fl_Secret_Input_visible_focus(self: Fl_Secret_InputPtr, v: int)
extern def Fl_Secret_Input_has_visible_focus(self: Fl_Secret_InputPtr) -> t.CUInt32T
extern def Fl_Secret_Input_set_user_data(self: Fl_Secret_InputPtr, data: bytes)
extern def Fl_Secret_Input_draw_data(self: Fl_Secret_InputPtr) -> bytes
extern def Fl_Secret_Input_handle_data(self: Fl_Secret_InputPtr) -> bytes
extern def Fl_Secret_Input_set_draw_data(self: Fl_Secret_InputPtr, data: bytes)
extern def Fl_Secret_Input_set_handle_data(self: Fl_Secret_InputPtr, data: bytes)
extern def Fl_Secret_Input_damage(self: Fl_Secret_InputPtr) -> t.CUInt8T
extern def Fl_Secret_Input_set_damage(self: Fl_Secret_InputPtr, flag: t.CUInt8T)
extern def Fl_Secret_Input_set_damage_area(self: Fl_Secret_InputPtr, flag: t.CUInt8T, x: int, y: int, w: int, h: int)
extern def Fl_Secret_Input_clear_damage(self: Fl_Secret_InputPtr)
extern def Fl_Secret_Input_as_window(self: Fl_Secret_InputPtr) -> bytes
extern def Fl_Secret_Input_as_group(self: Fl_Secret_InputPtr) -> bytes
extern def Fl_Secret_Input_set_deimage(self: Fl_Secret_InputPtr, a1: bytes)
extern def Fl_Secret_Input_deimage(self: Fl_Secret_InputPtr) -> bytes
extern def Fl_Secret_Input_set_callback(self: Fl_Secret_InputPtr, a1: bytes, a2: bytes)
extern def Fl_Secret_Input_visible(self: Fl_Secret_InputPtr) -> int
extern def Fl_Secret_Input_visible_r(self: Fl_Secret_InputPtr) -> int
extern def Fl_Secret_Input_active(self: Fl_Secret_InputPtr) -> t.CUInt32T
extern def Fl_Secret_Input_active_r(self: Fl_Secret_InputPtr) -> int
extern def Fl_Secret_Input_callback(self: Fl_Secret_InputPtr) -> bytes
extern def Fl_Secret_Input_set_deletion_callback(self: Fl_Secret_InputPtr, cb1: bytes, data: bytes)
extern def Fl_Secret_Input_from_dyn_ptr(ptr: Fl_WidgetPtr) -> Fl_Secret_InputPtr
extern def Fl_Secret_Input_from_derived_dyn_ptr(ptr: Fl_WidgetPtr) -> Fl_Secret_InputPtr
extern def Fl_Secret_Input_super_draw(ptr: Fl_WidgetPtr, flag: int)
extern def Fl_Secret_Input_super_draw_first(ptr: Fl_WidgetPtr, flag: int)
extern def Fl_Secret_Input_super_handle_first(ptr: Fl_WidgetPtr, flag: int)
# ----- Fl_Secret_Input (input_declare) -----
extern def Fl_Secret_Input_set_value(self: Fl_Secret_InputPtr, a1: str) -> int
extern def Fl_Secret_Input_value(self: Fl_Secret_InputPtr) -> str
extern def Fl_Secret_Input_maximum_size(self: Fl_Secret_InputPtr) -> int
extern def Fl_Secret_Input_set_maximum_size(self: Fl_Secret_InputPtr, m: int)
extern def Fl_Secret_Input_position(self: Fl_Secret_InputPtr) -> int
extern def Fl_Secret_Input_set_position(self: Fl_Secret_InputPtr, p: int) -> int
extern def Fl_Secret_Input_set_mark(self: Fl_Secret_InputPtr, m: int) -> int
extern def Fl_Secret_Input_mark(self: Fl_Secret_InputPtr) -> int
extern def Fl_Secret_Input_replace(self: Fl_Secret_InputPtr, b: int, e: int, text: str, ilen: int) -> int
extern def Fl_Secret_Input_insert(self: Fl_Secret_InputPtr, t: str, l: int) -> int
extern def Fl_Secret_Input_append(self: Fl_Secret_InputPtr, t: str, l: int, keep_selection: char) -> int
extern def Fl_Secret_Input_copy(self: Fl_Secret_InputPtr, clipboard: int) -> int
extern def Fl_Secret_Input_undo(self: Fl_Secret_InputPtr) -> int
extern def Fl_Secret_Input_copy_cuts(self: Fl_Secret_InputPtr) -> int
extern def Fl_Secret_Input_cursor_color(self: Fl_Secret_InputPtr) -> t.CUInt32T
extern def Fl_Secret_Input_set_cursor_color(self: Fl_Secret_InputPtr, s: t.CUInt32T)
extern def Fl_Secret_Input_text_font(self: Fl_Secret_InputPtr) -> int
extern def Fl_Secret_Input_set_text_font(self: Fl_Secret_InputPtr, s: int)
extern def Fl_Secret_Input_text_color(self: Fl_Secret_InputPtr) -> t.CUInt32T
extern def Fl_Secret_Input_set_text_color(self: Fl_Secret_InputPtr, s: t.CUInt32T)
extern def Fl_Secret_Input_text_size(self: Fl_Secret_InputPtr) -> int
extern def Fl_Secret_Input_set_text_size(self: Fl_Secret_InputPtr, s: int)
extern def Fl_Secret_Input_readonly(self: Fl_Secret_InputPtr) -> int
extern def Fl_Secret_Input_set_readonly(self: Fl_Secret_InputPtr, boolean: int)
extern def Fl_Secret_Input_wrap(self: Fl_Secret_InputPtr) -> int
extern def Fl_Secret_Input_set_wrap(self: Fl_Secret_InputPtr, boolean: int)
extern def Fl_Secret_Input_set_tab_nav(self: Fl_Secret_InputPtr, flag: int)
extern def Fl_Secret_Input_tab_nav(self: Fl_Secret_InputPtr) -> int
# ----- Fl_File_Input (widget_declare) -----
extern def Fl_File_Input_new(x: int, y: int, width: int, height: int, title: str) -> Fl_File_InputPtr
extern def Fl_File_Input_x(self: Fl_File_InputPtr) -> int
extern def Fl_File_Input_y(self: Fl_File_InputPtr) -> int
extern def Fl_File_Input_width(self: Fl_File_InputPtr) -> int
extern def Fl_File_Input_height(self: Fl_File_InputPtr) -> int
extern def Fl_File_Input_label(self: Fl_File_InputPtr) -> str
extern def Fl_File_Input_set_label(self: Fl_File_InputPtr, title: str)
extern def Fl_File_Input_redraw(self: Fl_File_InputPtr)
extern def Fl_File_Input_show(self: Fl_File_InputPtr)
extern def Fl_File_Input_hide(self: Fl_File_InputPtr)
extern def Fl_File_Input_activate(self: Fl_File_InputPtr)
extern def Fl_File_Input_deactivate(self: Fl_File_InputPtr)
extern def Fl_File_Input_redraw_label(self: Fl_File_InputPtr)
extern def Fl_File_Input_resize(self: Fl_File_InputPtr, x: int, y: int, width: int, height: int)
extern def Fl_File_Input_widget_resize(self: Fl_File_InputPtr, x: int, y: int, width: int, height: int)
extern def Fl_File_Input_tooltip(self: Fl_File_InputPtr) -> str
extern def Fl_File_Input_set_tooltip(self: Fl_File_InputPtr, txt: str)
extern def Fl_File_Input_get_type(self: Fl_File_InputPtr) -> int
extern def Fl_File_Input_set_type(self: Fl_File_InputPtr, typ: int)
extern def Fl_File_Input_color(self: Fl_File_InputPtr) -> t.CUInt32T
extern def Fl_File_Input_set_color(self: Fl_File_InputPtr, color: t.CUInt32T)
extern def Fl_File_Input_measure_label(self: Fl_File_InputPtr, a1: bytes, a2: bytes)
extern def Fl_File_Input_label_color(self: Fl_File_InputPtr) -> t.CUInt32T
extern def Fl_File_Input_set_label_color(self: Fl_File_InputPtr, color: t.CUInt32T)
extern def Fl_File_Input_label_font(self: Fl_File_InputPtr) -> int
extern def Fl_File_Input_set_label_font(self: Fl_File_InputPtr, font: int)
extern def Fl_File_Input_label_size(self: Fl_File_InputPtr) -> int
extern def Fl_File_Input_set_label_size(self: Fl_File_InputPtr, sz: int)
extern def Fl_File_Input_label_type(self: Fl_File_InputPtr) -> int
extern def Fl_File_Input_set_label_type(self: Fl_File_InputPtr, typ: int)
extern def Fl_File_Input_box(self: Fl_File_InputPtr) -> int
extern def Fl_File_Input_set_box(self: Fl_File_InputPtr, typ: int)
extern def Fl_File_Input_changed(self: Fl_File_InputPtr) -> int
extern def Fl_File_Input_set_changed(self: Fl_File_InputPtr)
extern def Fl_File_Input_clear_changed(self: Fl_File_InputPtr)
extern def Fl_File_Input_align(self: Fl_File_InputPtr) -> int
extern def Fl_File_Input_set_align(self: Fl_File_InputPtr, typ: int)
extern def Fl_File_Input_delete(self: Fl_File_InputPtr)
extern def Fl_File_Input_set_image(self: Fl_File_InputPtr, a1: bytes)
extern def Fl_File_Input_handle(self: Fl_File_InputPtr, cb: bytes, data: bytes)
extern def Fl_File_Input_handle_event(self: Fl_File_InputPtr, event: int) -> int
extern def Fl_File_Input_draw(self: Fl_File_InputPtr, cb: bytes, data: bytes)
extern def Fl_File_Input_resize_callback(self: Fl_File_InputPtr, cb1: bytes, data: bytes)
extern def Fl_File_Input_set_when(self: Fl_File_InputPtr, a1: int)
extern def Fl_File_Input_when(self: Fl_File_InputPtr) -> int
extern def Fl_File_Input_image(self: Fl_File_InputPtr) -> bytes
extern def Fl_File_Input_parent(self: Fl_File_InputPtr) -> bytes
extern def Fl_File_Input_selection_color(self: Fl_File_InputPtr) -> t.CUInt32T
extern def Fl_File_Input_set_selection_color(self: Fl_File_InputPtr, color: t.CUInt32T)
extern def Fl_File_Input_do_callback(self: Fl_File_InputPtr)
extern def Fl_File_Input_inside(self: Fl_File_InputPtr, a1: bytes) -> int
extern def Fl_File_Input_window(self: Fl_File_InputPtr) -> bytes
extern def Fl_File_Input_top_window(self: Fl_File_InputPtr) -> bytes
extern def Fl_File_Input_takes_events(self: Fl_File_InputPtr) -> int
extern def Fl_File_Input_user_data(self: Fl_File_InputPtr) -> bytes
extern def Fl_File_Input_take_focus(self: Fl_File_InputPtr) -> int
extern def Fl_File_Input_set_visible_focus(self: Fl_File_InputPtr)
extern def Fl_File_Input_clear_visible_focus(self: Fl_File_InputPtr)
extern def Fl_File_Input_visible_focus(self: Fl_File_InputPtr, v: int)
extern def Fl_File_Input_has_visible_focus(self: Fl_File_InputPtr) -> t.CUInt32T
extern def Fl_File_Input_set_user_data(self: Fl_File_InputPtr, data: bytes)
extern def Fl_File_Input_draw_data(self: Fl_File_InputPtr) -> bytes
extern def Fl_File_Input_handle_data(self: Fl_File_InputPtr) -> bytes
extern def Fl_File_Input_set_draw_data(self: Fl_File_InputPtr, data: bytes)
extern def Fl_File_Input_set_handle_data(self: Fl_File_InputPtr, data: bytes)
extern def Fl_File_Input_damage(self: Fl_File_InputPtr) -> t.CUInt8T
extern def Fl_File_Input_set_damage(self: Fl_File_InputPtr, flag: t.CUInt8T)
extern def Fl_File_Input_set_damage_area(self: Fl_File_InputPtr, flag: t.CUInt8T, x: int, y: int, w: int, h: int)
extern def Fl_File_Input_clear_damage(self: Fl_File_InputPtr)
extern def Fl_File_Input_as_window(self: Fl_File_InputPtr) -> bytes
extern def Fl_File_Input_as_group(self: Fl_File_InputPtr) -> bytes
extern def Fl_File_Input_set_deimage(self: Fl_File_InputPtr, a1: bytes)
extern def Fl_File_Input_deimage(self: Fl_File_InputPtr) -> bytes
extern def Fl_File_Input_set_callback(self: Fl_File_InputPtr, a1: bytes, a2: bytes)
extern def Fl_File_Input_visible(self: Fl_File_InputPtr) -> int
extern def Fl_File_Input_visible_r(self: Fl_File_InputPtr) -> int
extern def Fl_File_Input_active(self: Fl_File_InputPtr) -> t.CUInt32T
extern def Fl_File_Input_active_r(self: Fl_File_InputPtr) -> int
extern def Fl_File_Input_callback(self: Fl_File_InputPtr) -> bytes
extern def Fl_File_Input_set_deletion_callback(self: Fl_File_InputPtr, cb1: bytes, data: bytes)
extern def Fl_File_Input_from_dyn_ptr(ptr: Fl_WidgetPtr) -> Fl_File_InputPtr
extern def Fl_File_Input_from_derived_dyn_ptr(ptr: Fl_WidgetPtr) -> Fl_File_InputPtr
extern def Fl_File_Input_super_draw(ptr: Fl_WidgetPtr, flag: int)
extern def Fl_File_Input_super_draw_first(ptr: Fl_WidgetPtr, flag: int)
extern def Fl_File_Input_super_handle_first(ptr: Fl_WidgetPtr, flag: int)
# ----- Fl_File_Input (input_declare) -----
extern def Fl_File_Input_set_value(self: Fl_File_InputPtr, a1: str) -> int
extern def Fl_File_Input_value(self: Fl_File_InputPtr) -> str
extern def Fl_File_Input_maximum_size(self: Fl_File_InputPtr) -> int
extern def Fl_File_Input_set_maximum_size(self: Fl_File_InputPtr, m: int)
extern def Fl_File_Input_position(self: Fl_File_InputPtr) -> int
extern def Fl_File_Input_set_position(self: Fl_File_InputPtr, p: int) -> int
extern def Fl_File_Input_set_mark(self: Fl_File_InputPtr, m: int) -> int
extern def Fl_File_Input_mark(self: Fl_File_InputPtr) -> int
extern def Fl_File_Input_replace(self: Fl_File_InputPtr, b: int, e: int, text: str, ilen: int) -> int
extern def Fl_File_Input_insert(self: Fl_File_InputPtr, t: str, l: int) -> int
extern def Fl_File_Input_append(self: Fl_File_InputPtr, t: str, l: int, keep_selection: char) -> int
extern def Fl_File_Input_copy(self: Fl_File_InputPtr, clipboard: int) -> int
extern def Fl_File_Input_undo(self: Fl_File_InputPtr) -> int
extern def Fl_File_Input_copy_cuts(self: Fl_File_InputPtr) -> int
extern def Fl_File_Input_cursor_color(self: Fl_File_InputPtr) -> t.CUInt32T
extern def Fl_File_Input_set_cursor_color(self: Fl_File_InputPtr, s: t.CUInt32T)
extern def Fl_File_Input_text_font(self: Fl_File_InputPtr) -> int
extern def Fl_File_Input_set_text_font(self: Fl_File_InputPtr, s: int)
extern def Fl_File_Input_text_color(self: Fl_File_InputPtr) -> t.CUInt32T
extern def Fl_File_Input_set_text_color(self: Fl_File_InputPtr, s: t.CUInt32T)
extern def Fl_File_Input_text_size(self: Fl_File_InputPtr) -> int
extern def Fl_File_Input_set_text_size(self: Fl_File_InputPtr, s: int)
extern def Fl_File_Input_readonly(self: Fl_File_InputPtr) -> int
extern def Fl_File_Input_set_readonly(self: Fl_File_InputPtr, boolean: int)
extern def Fl_File_Input_wrap(self: Fl_File_InputPtr) -> int
extern def Fl_File_Input_set_wrap(self: Fl_File_InputPtr, boolean: int)
extern def Fl_File_Input_set_tab_nav(self: Fl_File_InputPtr, flag: int)
extern def Fl_File_Input_tab_nav(self: Fl_File_InputPtr) -> int
# ----- Fl_Output (widget_declare) -----
extern def Fl_Output_new(x: int, y: int, width: int, height: int, title: str) -> Fl_OutputPtr
extern def Fl_Output_x(self: Fl_OutputPtr) -> int
extern def Fl_Output_y(self: Fl_OutputPtr) -> int
extern def Fl_Output_width(self: Fl_OutputPtr) -> int
extern def Fl_Output_height(self: Fl_OutputPtr) -> int
extern def Fl_Output_label(self: Fl_OutputPtr) -> str
extern def Fl_Output_set_label(self: Fl_OutputPtr, title: str)
extern def Fl_Output_redraw(self: Fl_OutputPtr)
extern def Fl_Output_show(self: Fl_OutputPtr)
extern def Fl_Output_hide(self: Fl_OutputPtr)
extern def Fl_Output_activate(self: Fl_OutputPtr)
extern def Fl_Output_deactivate(self: Fl_OutputPtr)
extern def Fl_Output_redraw_label(self: Fl_OutputPtr)
extern def Fl_Output_resize(self: Fl_OutputPtr, x: int, y: int, width: int, height: int)
extern def Fl_Output_widget_resize(self: Fl_OutputPtr, x: int, y: int, width: int, height: int)
extern def Fl_Output_tooltip(self: Fl_OutputPtr) -> str
extern def Fl_Output_set_tooltip(self: Fl_OutputPtr, txt: str)
extern def Fl_Output_get_type(self: Fl_OutputPtr) -> int
extern def Fl_Output_set_type(self: Fl_OutputPtr, typ: int)
extern def Fl_Output_color(self: Fl_OutputPtr) -> t.CUInt32T
extern def Fl_Output_set_color(self: Fl_OutputPtr, color: t.CUInt32T)
extern def Fl_Output_measure_label(self: Fl_OutputPtr, a1: bytes, a2: bytes)
extern def Fl_Output_label_color(self: Fl_OutputPtr) -> t.CUInt32T
extern def Fl_Output_set_label_color(self: Fl_OutputPtr, color: t.CUInt32T)
extern def Fl_Output_label_font(self: Fl_OutputPtr) -> int
extern def Fl_Output_set_label_font(self: Fl_OutputPtr, font: int)
extern def Fl_Output_label_size(self: Fl_OutputPtr) -> int
extern def Fl_Output_set_label_size(self: Fl_OutputPtr, sz: int)
extern def Fl_Output_label_type(self: Fl_OutputPtr) -> int
extern def Fl_Output_set_label_type(self: Fl_OutputPtr, typ: int)
extern def Fl_Output_box(self: Fl_OutputPtr) -> int
extern def Fl_Output_set_box(self: Fl_OutputPtr, typ: int)
extern def Fl_Output_changed(self: Fl_OutputPtr) -> int
extern def Fl_Output_set_changed(self: Fl_OutputPtr)
extern def Fl_Output_clear_changed(self: Fl_OutputPtr)
extern def Fl_Output_align(self: Fl_OutputPtr) -> int
extern def Fl_Output_set_align(self: Fl_OutputPtr, typ: int)
extern def Fl_Output_delete(self: Fl_OutputPtr)
extern def Fl_Output_set_image(self: Fl_OutputPtr, a1: bytes)
extern def Fl_Output_handle(self: Fl_OutputPtr, cb: bytes, data: bytes)
extern def Fl_Output_handle_event(self: Fl_OutputPtr, event: int) -> int
extern def Fl_Output_draw(self: Fl_OutputPtr, cb: bytes, data: bytes)
extern def Fl_Output_resize_callback(self: Fl_OutputPtr, cb1: bytes, data: bytes)
extern def Fl_Output_set_when(self: Fl_OutputPtr, a1: int)
extern def Fl_Output_when(self: Fl_OutputPtr) -> int
extern def Fl_Output_image(self: Fl_OutputPtr) -> bytes
extern def Fl_Output_parent(self: Fl_OutputPtr) -> bytes
extern def Fl_Output_selection_color(self: Fl_OutputPtr) -> t.CUInt32T
extern def Fl_Output_set_selection_color(self: Fl_OutputPtr, color: t.CUInt32T)
extern def Fl_Output_do_callback(self: Fl_OutputPtr)
extern def Fl_Output_inside(self: Fl_OutputPtr, a1: bytes) -> int
extern def Fl_Output_window(self: Fl_OutputPtr) -> bytes
extern def Fl_Output_top_window(self: Fl_OutputPtr) -> bytes
extern def Fl_Output_takes_events(self: Fl_OutputPtr) -> int
extern def Fl_Output_user_data(self: Fl_OutputPtr) -> bytes
extern def Fl_Output_take_focus(self: Fl_OutputPtr) -> int
extern def Fl_Output_set_visible_focus(self: Fl_OutputPtr)
extern def Fl_Output_clear_visible_focus(self: Fl_OutputPtr)
extern def Fl_Output_visible_focus(self: Fl_OutputPtr, v: int)
extern def Fl_Output_has_visible_focus(self: Fl_OutputPtr) -> t.CUInt32T
extern def Fl_Output_set_user_data(self: Fl_OutputPtr, data: bytes)
extern def Fl_Output_draw_data(self: Fl_OutputPtr) -> bytes
extern def Fl_Output_handle_data(self: Fl_OutputPtr) -> bytes
extern def Fl_Output_set_draw_data(self: Fl_OutputPtr, data: bytes)
extern def Fl_Output_set_handle_data(self: Fl_OutputPtr, data: bytes)
extern def Fl_Output_damage(self: Fl_OutputPtr) -> t.CUInt8T
extern def Fl_Output_set_damage(self: Fl_OutputPtr, flag: t.CUInt8T)
extern def Fl_Output_set_damage_area(self: Fl_OutputPtr, flag: t.CUInt8T, x: int, y: int, w: int, h: int)
extern def Fl_Output_clear_damage(self: Fl_OutputPtr)
extern def Fl_Output_as_window(self: Fl_OutputPtr) -> bytes
extern def Fl_Output_as_group(self: Fl_OutputPtr) -> bytes
extern def Fl_Output_set_deimage(self: Fl_OutputPtr, a1: bytes)
extern def Fl_Output_deimage(self: Fl_OutputPtr) -> bytes
extern def Fl_Output_set_callback(self: Fl_OutputPtr, a1: bytes, a2: bytes)
extern def Fl_Output_visible(self: Fl_OutputPtr) -> int
extern def Fl_Output_visible_r(self: Fl_OutputPtr) -> int
extern def Fl_Output_active(self: Fl_OutputPtr) -> t.CUInt32T
extern def Fl_Output_active_r(self: Fl_OutputPtr) -> int
extern def Fl_Output_callback(self: Fl_OutputPtr) -> bytes
extern def Fl_Output_set_deletion_callback(self: Fl_OutputPtr, cb1: bytes, data: bytes)
extern def Fl_Output_from_dyn_ptr(ptr: Fl_WidgetPtr) -> Fl_OutputPtr
extern def Fl_Output_from_derived_dyn_ptr(ptr: Fl_WidgetPtr) -> Fl_OutputPtr
extern def Fl_Output_super_draw(ptr: Fl_WidgetPtr, flag: int)
extern def Fl_Output_super_draw_first(ptr: Fl_WidgetPtr, flag: int)
extern def Fl_Output_super_handle_first(ptr: Fl_WidgetPtr, flag: int)
# ----- Fl_Output (input_declare) -----
extern def Fl_Output_set_value(self: Fl_OutputPtr, a1: str) -> int
extern def Fl_Output_value(self: Fl_OutputPtr) -> str
extern def Fl_Output_maximum_size(self: Fl_OutputPtr) -> int
extern def Fl_Output_set_maximum_size(self: Fl_OutputPtr, m: int)
extern def Fl_Output_position(self: Fl_OutputPtr) -> int
extern def Fl_Output_set_position(self: Fl_OutputPtr, p: int) -> int
extern def Fl_Output_set_mark(self: Fl_OutputPtr, m: int) -> int
extern def Fl_Output_mark(self: Fl_OutputPtr) -> int
extern def Fl_Output_replace(self: Fl_OutputPtr, b: int, e: int, text: str, ilen: int) -> int
extern def Fl_Output_insert(self: Fl_OutputPtr, t: str, l: int) -> int
extern def Fl_Output_append(self: Fl_OutputPtr, t: str, l: int, keep_selection: char) -> int
extern def Fl_Output_copy(self: Fl_OutputPtr, clipboard: int) -> int
extern def Fl_Output_undo(self: Fl_OutputPtr) -> int
extern def Fl_Output_copy_cuts(self: Fl_OutputPtr) -> int
extern def Fl_Output_cursor_color(self: Fl_OutputPtr) -> t.CUInt32T
extern def Fl_Output_set_cursor_color(self: Fl_OutputPtr, s: t.CUInt32T)
extern def Fl_Output_text_font(self: Fl_OutputPtr) -> int
extern def Fl_Output_set_text_font(self: Fl_OutputPtr, s: int)
extern def Fl_Output_text_color(self: Fl_OutputPtr) -> t.CUInt32T
extern def Fl_Output_set_text_color(self: Fl_OutputPtr, s: t.CUInt32T)
extern def Fl_Output_text_size(self: Fl_OutputPtr) -> int
extern def Fl_Output_set_text_size(self: Fl_OutputPtr, s: int)
extern def Fl_Output_readonly(self: Fl_OutputPtr) -> int
extern def Fl_Output_set_readonly(self: Fl_OutputPtr, boolean: int)
extern def Fl_Output_wrap(self: Fl_OutputPtr) -> int
extern def Fl_Output_set_wrap(self: Fl_OutputPtr, boolean: int)
extern def Fl_Output_set_tab_nav(self: Fl_OutputPtr, flag: int)
extern def Fl_Output_tab_nav(self: Fl_OutputPtr) -> int
# ----- Fl_Multiline_Output (widget_declare) -----
extern def Fl_Multiline_Output_new(x: int, y: int, width: int, height: int, title: str) -> Fl_Multiline_OutputPtr
extern def Fl_Multiline_Output_x(self: Fl_Multiline_OutputPtr) -> int
extern def Fl_Multiline_Output_y(self: Fl_Multiline_OutputPtr) -> int
extern def Fl_Multiline_Output_width(self: Fl_Multiline_OutputPtr) -> int
extern def Fl_Multiline_Output_height(self: Fl_Multiline_OutputPtr) -> int
extern def Fl_Multiline_Output_label(self: Fl_Multiline_OutputPtr) -> str
extern def Fl_Multiline_Output_set_label(self: Fl_Multiline_OutputPtr, title: str)
extern def Fl_Multiline_Output_redraw(self: Fl_Multiline_OutputPtr)
extern def Fl_Multiline_Output_show(self: Fl_Multiline_OutputPtr)
extern def Fl_Multiline_Output_hide(self: Fl_Multiline_OutputPtr)
extern def Fl_Multiline_Output_activate(self: Fl_Multiline_OutputPtr)
extern def Fl_Multiline_Output_deactivate(self: Fl_Multiline_OutputPtr)
extern def Fl_Multiline_Output_redraw_label(self: Fl_Multiline_OutputPtr)
extern def Fl_Multiline_Output_resize(self: Fl_Multiline_OutputPtr, x: int, y: int, width: int, height: int)
extern def Fl_Multiline_Output_widget_resize(self: Fl_Multiline_OutputPtr, x: int, y: int, width: int, height: int)
extern def Fl_Multiline_Output_tooltip(self: Fl_Multiline_OutputPtr) -> str
extern def Fl_Multiline_Output_set_tooltip(self: Fl_Multiline_OutputPtr, txt: str)
extern def Fl_Multiline_Output_get_type(self: Fl_Multiline_OutputPtr) -> int
extern def Fl_Multiline_Output_set_type(self: Fl_Multiline_OutputPtr, typ: int)
extern def Fl_Multiline_Output_color(self: Fl_Multiline_OutputPtr) -> t.CUInt32T
extern def Fl_Multiline_Output_set_color(self: Fl_Multiline_OutputPtr, color: t.CUInt32T)
extern def Fl_Multiline_Output_measure_label(self: Fl_Multiline_OutputPtr, a1: bytes, a2: bytes)
extern def Fl_Multiline_Output_label_color(self: Fl_Multiline_OutputPtr) -> t.CUInt32T
extern def Fl_Multiline_Output_set_label_color(self: Fl_Multiline_OutputPtr, color: t.CUInt32T)
extern def Fl_Multiline_Output_label_font(self: Fl_Multiline_OutputPtr) -> int
extern def Fl_Multiline_Output_set_label_font(self: Fl_Multiline_OutputPtr, font: int)
extern def Fl_Multiline_Output_label_size(self: Fl_Multiline_OutputPtr) -> int
extern def Fl_Multiline_Output_set_label_size(self: Fl_Multiline_OutputPtr, sz: int)
extern def Fl_Multiline_Output_label_type(self: Fl_Multiline_OutputPtr) -> int
extern def Fl_Multiline_Output_set_label_type(self: Fl_Multiline_OutputPtr, typ: int)
extern def Fl_Multiline_Output_box(self: Fl_Multiline_OutputPtr) -> int
extern def Fl_Multiline_Output_set_box(self: Fl_Multiline_OutputPtr, typ: int)
extern def Fl_Multiline_Output_changed(self: Fl_Multiline_OutputPtr) -> int
extern def Fl_Multiline_Output_set_changed(self: Fl_Multiline_OutputPtr)
extern def Fl_Multiline_Output_clear_changed(self: Fl_Multiline_OutputPtr)
extern def Fl_Multiline_Output_align(self: Fl_Multiline_OutputPtr) -> int
extern def Fl_Multiline_Output_set_align(self: Fl_Multiline_OutputPtr, typ: int)
extern def Fl_Multiline_Output_delete(self: Fl_Multiline_OutputPtr)
extern def Fl_Multiline_Output_set_image(self: Fl_Multiline_OutputPtr, a1: bytes)
extern def Fl_Multiline_Output_handle(self: Fl_Multiline_OutputPtr, cb: bytes, data: bytes)
extern def Fl_Multiline_Output_handle_event(self: Fl_Multiline_OutputPtr, event: int) -> int
extern def Fl_Multiline_Output_draw(self: Fl_Multiline_OutputPtr, cb: bytes, data: bytes)
extern def Fl_Multiline_Output_resize_callback(self: Fl_Multiline_OutputPtr, cb1: bytes, data: bytes)
extern def Fl_Multiline_Output_set_when(self: Fl_Multiline_OutputPtr, a1: int)
extern def Fl_Multiline_Output_when(self: Fl_Multiline_OutputPtr) -> int
extern def Fl_Multiline_Output_image(self: Fl_Multiline_OutputPtr) -> bytes
extern def Fl_Multiline_Output_parent(self: Fl_Multiline_OutputPtr) -> bytes
extern def Fl_Multiline_Output_selection_color(self: Fl_Multiline_OutputPtr) -> t.CUInt32T
extern def Fl_Multiline_Output_set_selection_color(self: Fl_Multiline_OutputPtr, color: t.CUInt32T)
extern def Fl_Multiline_Output_do_callback(self: Fl_Multiline_OutputPtr)
extern def Fl_Multiline_Output_inside(self: Fl_Multiline_OutputPtr, a1: bytes) -> int
extern def Fl_Multiline_Output_window(self: Fl_Multiline_OutputPtr) -> bytes
extern def Fl_Multiline_Output_top_window(self: Fl_Multiline_OutputPtr) -> bytes
extern def Fl_Multiline_Output_takes_events(self: Fl_Multiline_OutputPtr) -> int
extern def Fl_Multiline_Output_user_data(self: Fl_Multiline_OutputPtr) -> bytes
extern def Fl_Multiline_Output_take_focus(self: Fl_Multiline_OutputPtr) -> int
extern def Fl_Multiline_Output_set_visible_focus(self: Fl_Multiline_OutputPtr)
extern def Fl_Multiline_Output_clear_visible_focus(self: Fl_Multiline_OutputPtr)
extern def Fl_Multiline_Output_visible_focus(self: Fl_Multiline_OutputPtr, v: int)
extern def Fl_Multiline_Output_has_visible_focus(self: Fl_Multiline_OutputPtr) -> t.CUInt32T
extern def Fl_Multiline_Output_set_user_data(self: Fl_Multiline_OutputPtr, data: bytes)
extern def Fl_Multiline_Output_draw_data(self: Fl_Multiline_OutputPtr) -> bytes
extern def Fl_Multiline_Output_handle_data(self: Fl_Multiline_OutputPtr) -> bytes
extern def Fl_Multiline_Output_set_draw_data(self: Fl_Multiline_OutputPtr, data: bytes)
extern def Fl_Multiline_Output_set_handle_data(self: Fl_Multiline_OutputPtr, data: bytes)
extern def Fl_Multiline_Output_damage(self: Fl_Multiline_OutputPtr) -> t.CUInt8T
extern def Fl_Multiline_Output_set_damage(self: Fl_Multiline_OutputPtr, flag: t.CUInt8T)
extern def Fl_Multiline_Output_set_damage_area(self: Fl_Multiline_OutputPtr, flag: t.CUInt8T, x: int, y: int, w: int, h: int)
extern def Fl_Multiline_Output_clear_damage(self: Fl_Multiline_OutputPtr)
extern def Fl_Multiline_Output_as_window(self: Fl_Multiline_OutputPtr) -> bytes
extern def Fl_Multiline_Output_as_group(self: Fl_Multiline_OutputPtr) -> bytes
extern def Fl_Multiline_Output_set_deimage(self: Fl_Multiline_OutputPtr, a1: bytes)
extern def Fl_Multiline_Output_deimage(self: Fl_Multiline_OutputPtr) -> bytes
extern def Fl_Multiline_Output_set_callback(self: Fl_Multiline_OutputPtr, a1: bytes, a2: bytes)
extern def Fl_Multiline_Output_visible(self: Fl_Multiline_OutputPtr) -> int
extern def Fl_Multiline_Output_visible_r(self: Fl_Multiline_OutputPtr) -> int
extern def Fl_Multiline_Output_active(self: Fl_Multiline_OutputPtr) -> t.CUInt32T
extern def Fl_Multiline_Output_active_r(self: Fl_Multiline_OutputPtr) -> int
extern def Fl_Multiline_Output_callback(self: Fl_Multiline_OutputPtr) -> bytes
extern def Fl_Multiline_Output_set_deletion_callback(self: Fl_Multiline_OutputPtr, cb1: bytes, data: bytes)
extern def Fl_Multiline_Output_from_dyn_ptr(ptr: Fl_WidgetPtr) -> Fl_Multiline_OutputPtr
extern def Fl_Multiline_Output_from_derived_dyn_ptr(ptr: Fl_WidgetPtr) -> Fl_Multiline_OutputPtr
extern def Fl_Multiline_Output_super_draw(ptr: Fl_WidgetPtr, flag: int)
extern def Fl_Multiline_Output_super_draw_first(ptr: Fl_WidgetPtr, flag: int)
extern def Fl_Multiline_Output_super_handle_first(ptr: Fl_WidgetPtr, flag: int)
# ----- Fl_Multiline_Output (input_declare) -----
extern def Fl_Multiline_Output_set_value(self: Fl_Multiline_OutputPtr, a1: str) -> int
extern def Fl_Multiline_Output_value(self: Fl_Multiline_OutputPtr) -> str
extern def Fl_Multiline_Output_maximum_size(self: Fl_Multiline_OutputPtr) -> int
extern def Fl_Multiline_Output_set_maximum_size(self: Fl_Multiline_OutputPtr, m: int)
extern def Fl_Multiline_Output_position(self: Fl_Multiline_OutputPtr) -> int
extern def Fl_Multiline_Output_set_position(self: Fl_Multiline_OutputPtr, p: int) -> int
extern def Fl_Multiline_Output_set_mark(self: Fl_Multiline_OutputPtr, m: int) -> int
extern def Fl_Multiline_Output_mark(self: Fl_Multiline_OutputPtr) -> int
extern def Fl_Multiline_Output_replace(self: Fl_Multiline_OutputPtr, b: int, e: int, text: str, ilen: int) -> int
extern def Fl_Multiline_Output_insert(self: Fl_Multiline_OutputPtr, t: str, l: int) -> int
extern def Fl_Multiline_Output_append(self: Fl_Multiline_OutputPtr, t: str, l: int, keep_selection: char) -> int
extern def Fl_Multiline_Output_copy(self: Fl_Multiline_OutputPtr, clipboard: int) -> int
extern def Fl_Multiline_Output_undo(self: Fl_Multiline_OutputPtr) -> int
extern def Fl_Multiline_Output_copy_cuts(self: Fl_Multiline_OutputPtr) -> int
extern def Fl_Multiline_Output_cursor_color(self: Fl_Multiline_OutputPtr) -> t.CUInt32T
extern def Fl_Multiline_Output_set_cursor_color(self: Fl_Multiline_OutputPtr, s: t.CUInt32T)
extern def Fl_Multiline_Output_text_font(self: Fl_Multiline_OutputPtr) -> int
extern def Fl_Multiline_Output_set_text_font(self: Fl_Multiline_OutputPtr, s: int)
extern def Fl_Multiline_Output_text_color(self: Fl_Multiline_OutputPtr) -> t.CUInt32T
extern def Fl_Multiline_Output_set_text_color(self: Fl_Multiline_OutputPtr, s: t.CUInt32T)
extern def Fl_Multiline_Output_text_size(self: Fl_Multiline_OutputPtr) -> int
extern def Fl_Multiline_Output_set_text_size(self: Fl_Multiline_OutputPtr, s: int)
extern def Fl_Multiline_Output_readonly(self: Fl_Multiline_OutputPtr) -> int
extern def Fl_Multiline_Output_set_readonly(self: Fl_Multiline_OutputPtr, boolean: int)
extern def Fl_Multiline_Output_wrap(self: Fl_Multiline_OutputPtr) -> int
extern def Fl_Multiline_Output_set_wrap(self: Fl_Multiline_OutputPtr, boolean: int)
extern def Fl_Multiline_Output_set_tab_nav(self: Fl_Multiline_OutputPtr, flag: int)
extern def Fl_Multiline_Output_tab_nav(self: Fl_Multiline_OutputPtr) -> int
extern def Fl_File_Input_set_down_box(self: Fl_File_InputPtr, box: int)
extern def Fl_File_Input_down_box(self: Fl_File_InputPtr) -> int
-13
View File
@@ -1,13 +0,0 @@
import t, c
from fltk._types import *
# ============================================================
# fltk/_cfl_lock.vp — cfl_lock.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_mutex_lock()
extern def Fl_mutex_unlock()
-555
View File
@@ -1,555 +0,0 @@
import t, c
from fltk._types import *
# ============================================================
# fltk/_cfl_menu.vp — cfl_menu.h 的 extern FFI 声明(对接 cfltk C API)
# ============================================================
# 所有函数直接对应 cfltk 生成的 C 符号(extern "C"),链接目标: cfltk2。
# 类型约定: Fl_* 对象均为不透明指针 (Fl_XxxPtr);const char* → str;
# 函数指针/void* → bytes(Viper 端传 0/NULL 或不使用)。
# ----- Fl_Menu_Bar (widget_declare) -----
extern def Fl_Menu_Bar_new(x: int, y: int, width: int, height: int, title: str) -> Fl_Menu_BarPtr
extern def Fl_Menu_Bar_x(self: Fl_Menu_BarPtr) -> int
extern def Fl_Menu_Bar_y(self: Fl_Menu_BarPtr) -> int
extern def Fl_Menu_Bar_width(self: Fl_Menu_BarPtr) -> int
extern def Fl_Menu_Bar_height(self: Fl_Menu_BarPtr) -> int
extern def Fl_Menu_Bar_label(self: Fl_Menu_BarPtr) -> str
extern def Fl_Menu_Bar_set_label(self: Fl_Menu_BarPtr, title: str)
extern def Fl_Menu_Bar_redraw(self: Fl_Menu_BarPtr)
extern def Fl_Menu_Bar_show(self: Fl_Menu_BarPtr)
extern def Fl_Menu_Bar_hide(self: Fl_Menu_BarPtr)
extern def Fl_Menu_Bar_activate(self: Fl_Menu_BarPtr)
extern def Fl_Menu_Bar_deactivate(self: Fl_Menu_BarPtr)
extern def Fl_Menu_Bar_redraw_label(self: Fl_Menu_BarPtr)
extern def Fl_Menu_Bar_resize(self: Fl_Menu_BarPtr, x: int, y: int, width: int, height: int)
extern def Fl_Menu_Bar_widget_resize(self: Fl_Menu_BarPtr, x: int, y: int, width: int, height: int)
extern def Fl_Menu_Bar_tooltip(self: Fl_Menu_BarPtr) -> str
extern def Fl_Menu_Bar_set_tooltip(self: Fl_Menu_BarPtr, txt: str)
extern def Fl_Menu_Bar_get_type(self: Fl_Menu_BarPtr) -> int
extern def Fl_Menu_Bar_set_type(self: Fl_Menu_BarPtr, typ: int)
extern def Fl_Menu_Bar_color(self: Fl_Menu_BarPtr) -> t.CUInt32T
extern def Fl_Menu_Bar_set_color(self: Fl_Menu_BarPtr, color: t.CUInt32T)
extern def Fl_Menu_Bar_measure_label(self: Fl_Menu_BarPtr, a1: bytes, a2: bytes)
extern def Fl_Menu_Bar_label_color(self: Fl_Menu_BarPtr) -> t.CUInt32T
extern def Fl_Menu_Bar_set_label_color(self: Fl_Menu_BarPtr, color: t.CUInt32T)
extern def Fl_Menu_Bar_label_font(self: Fl_Menu_BarPtr) -> int
extern def Fl_Menu_Bar_set_label_font(self: Fl_Menu_BarPtr, font: int)
extern def Fl_Menu_Bar_label_size(self: Fl_Menu_BarPtr) -> int
extern def Fl_Menu_Bar_set_label_size(self: Fl_Menu_BarPtr, sz: int)
extern def Fl_Menu_Bar_label_type(self: Fl_Menu_BarPtr) -> int
extern def Fl_Menu_Bar_set_label_type(self: Fl_Menu_BarPtr, typ: int)
extern def Fl_Menu_Bar_box(self: Fl_Menu_BarPtr) -> int
extern def Fl_Menu_Bar_set_box(self: Fl_Menu_BarPtr, typ: int)
extern def Fl_Menu_Bar_changed(self: Fl_Menu_BarPtr) -> int
extern def Fl_Menu_Bar_set_changed(self: Fl_Menu_BarPtr)
extern def Fl_Menu_Bar_clear_changed(self: Fl_Menu_BarPtr)
extern def Fl_Menu_Bar_align(self: Fl_Menu_BarPtr) -> int
extern def Fl_Menu_Bar_set_align(self: Fl_Menu_BarPtr, typ: int)
extern def Fl_Menu_Bar_delete(self: Fl_Menu_BarPtr)
extern def Fl_Menu_Bar_set_image(self: Fl_Menu_BarPtr, a1: bytes)
extern def Fl_Menu_Bar_handle(self: Fl_Menu_BarPtr, cb: bytes, data: bytes)
extern def Fl_Menu_Bar_handle_event(self: Fl_Menu_BarPtr, event: int) -> int
extern def Fl_Menu_Bar_draw(self: Fl_Menu_BarPtr, cb: bytes, data: bytes)
extern def Fl_Menu_Bar_resize_callback(self: Fl_Menu_BarPtr, cb1: bytes, data: bytes)
extern def Fl_Menu_Bar_set_when(self: Fl_Menu_BarPtr, a1: int)
extern def Fl_Menu_Bar_when(self: Fl_Menu_BarPtr) -> int
extern def Fl_Menu_Bar_image(self: Fl_Menu_BarPtr) -> bytes
extern def Fl_Menu_Bar_parent(self: Fl_Menu_BarPtr) -> bytes
extern def Fl_Menu_Bar_selection_color(self: Fl_Menu_BarPtr) -> t.CUInt32T
extern def Fl_Menu_Bar_set_selection_color(self: Fl_Menu_BarPtr, color: t.CUInt32T)
extern def Fl_Menu_Bar_do_callback(self: Fl_Menu_BarPtr)
extern def Fl_Menu_Bar_inside(self: Fl_Menu_BarPtr, a1: bytes) -> int
extern def Fl_Menu_Bar_window(self: Fl_Menu_BarPtr) -> bytes
extern def Fl_Menu_Bar_top_window(self: Fl_Menu_BarPtr) -> bytes
extern def Fl_Menu_Bar_takes_events(self: Fl_Menu_BarPtr) -> int
extern def Fl_Menu_Bar_user_data(self: Fl_Menu_BarPtr) -> bytes
extern def Fl_Menu_Bar_take_focus(self: Fl_Menu_BarPtr) -> int
extern def Fl_Menu_Bar_set_visible_focus(self: Fl_Menu_BarPtr)
extern def Fl_Menu_Bar_clear_visible_focus(self: Fl_Menu_BarPtr)
extern def Fl_Menu_Bar_visible_focus(self: Fl_Menu_BarPtr, v: int)
extern def Fl_Menu_Bar_has_visible_focus(self: Fl_Menu_BarPtr) -> t.CUInt32T
extern def Fl_Menu_Bar_set_user_data(self: Fl_Menu_BarPtr, data: bytes)
extern def Fl_Menu_Bar_draw_data(self: Fl_Menu_BarPtr) -> bytes
extern def Fl_Menu_Bar_handle_data(self: Fl_Menu_BarPtr) -> bytes
extern def Fl_Menu_Bar_set_draw_data(self: Fl_Menu_BarPtr, data: bytes)
extern def Fl_Menu_Bar_set_handle_data(self: Fl_Menu_BarPtr, data: bytes)
extern def Fl_Menu_Bar_damage(self: Fl_Menu_BarPtr) -> t.CUInt8T
extern def Fl_Menu_Bar_set_damage(self: Fl_Menu_BarPtr, flag: t.CUInt8T)
extern def Fl_Menu_Bar_set_damage_area(self: Fl_Menu_BarPtr, flag: t.CUInt8T, x: int, y: int, w: int, h: int)
extern def Fl_Menu_Bar_clear_damage(self: Fl_Menu_BarPtr)
extern def Fl_Menu_Bar_as_window(self: Fl_Menu_BarPtr) -> bytes
extern def Fl_Menu_Bar_as_group(self: Fl_Menu_BarPtr) -> bytes
extern def Fl_Menu_Bar_set_deimage(self: Fl_Menu_BarPtr, a1: bytes)
extern def Fl_Menu_Bar_deimage(self: Fl_Menu_BarPtr) -> bytes
extern def Fl_Menu_Bar_set_callback(self: Fl_Menu_BarPtr, a1: bytes, a2: bytes)
extern def Fl_Menu_Bar_visible(self: Fl_Menu_BarPtr) -> int
extern def Fl_Menu_Bar_visible_r(self: Fl_Menu_BarPtr) -> int
extern def Fl_Menu_Bar_active(self: Fl_Menu_BarPtr) -> t.CUInt32T
extern def Fl_Menu_Bar_active_r(self: Fl_Menu_BarPtr) -> int
extern def Fl_Menu_Bar_callback(self: Fl_Menu_BarPtr) -> bytes
extern def Fl_Menu_Bar_set_deletion_callback(self: Fl_Menu_BarPtr, cb1: bytes, data: bytes)
extern def Fl_Menu_Bar_from_dyn_ptr(ptr: Fl_WidgetPtr) -> Fl_Menu_BarPtr
extern def Fl_Menu_Bar_from_derived_dyn_ptr(ptr: Fl_WidgetPtr) -> Fl_Menu_BarPtr
extern def Fl_Menu_Bar_super_draw(ptr: Fl_WidgetPtr, flag: int)
extern def Fl_Menu_Bar_super_draw_first(ptr: Fl_WidgetPtr, flag: int)
extern def Fl_Menu_Bar_super_handle_first(ptr: Fl_WidgetPtr, flag: int)
# ----- Fl_Menu_Bar (menu_declare) -----
extern def Fl_Menu_Bar_add(self: Fl_Menu_BarPtr, name: str, shortcut: int, a3: bytes, a4: bytes, a5: int) -> int
extern def Fl_Menu_Bar_insert(self: Fl_Menu_BarPtr, index: int, name: str, shortcut: int, a4: bytes, a5: bytes, a6: int) -> int
extern def Fl_Menu_Bar_get_item(self: Fl_Menu_BarPtr, name: str) -> Fl_Menu_ItemPtr
extern def Fl_Menu_Bar_set_item(self: Fl_Menu_BarPtr, item: Fl_Menu_ItemPtr) -> int
extern def Fl_Menu_Bar_text_font(self: Fl_Menu_BarPtr) -> int
extern def Fl_Menu_Bar_set_text_font(self: Fl_Menu_BarPtr, c: int)
extern def Fl_Menu_Bar_text_size(self: Fl_Menu_BarPtr) -> int
extern def Fl_Menu_Bar_set_text_size(self: Fl_Menu_BarPtr, c: int)
extern def Fl_Menu_Bar_text_color(self: Fl_Menu_BarPtr) -> t.CUInt32T
extern def Fl_Menu_Bar_set_text_color(self: Fl_Menu_BarPtr, c: t.CUInt32T)
extern def Fl_Menu_Bar_add_choice(self: Fl_Menu_BarPtr, a1: str) -> int
extern def Fl_Menu_Bar_get_choice(self: Fl_Menu_BarPtr) -> str
extern def Fl_Menu_Bar_value(self: Fl_Menu_BarPtr) -> int
extern def Fl_Menu_Bar_set_value(self: Fl_Menu_BarPtr, v: int) -> int
extern def Fl_Menu_Bar_clear(self: Fl_Menu_BarPtr)
extern def Fl_Menu_Bar_clear_submenu(self: Fl_Menu_BarPtr, index: int) -> int
extern def Fl_Menu_Bar_size(self: Fl_Menu_BarPtr) -> int
extern def Fl_Menu_Bar_text(self: Fl_Menu_BarPtr, idx: int) -> str
extern def Fl_Menu_Bar_at(self: Fl_Menu_BarPtr, idx: int) -> Fl_Menu_ItemPtr
extern def Fl_Menu_Bar_set_mode(self: Fl_Menu_BarPtr, i: int, fl: int)
extern def Fl_Menu_Bar_mode(self: Fl_Menu_BarPtr, i: int) -> int
extern def Fl_Menu_Bar_find_index(self: Fl_Menu_BarPtr, label: str) -> int
extern def Fl_Menu_Bar_menu(self: Fl_Menu_BarPtr) -> Fl_Menu_ItemPtr
extern def Fl_Menu_Bar_set_menu(self: Fl_Menu_BarPtr, item: Fl_Menu_ItemPtr)
extern def Fl_Menu_Bar_remove(self: Fl_Menu_BarPtr, idx: int)
extern def Fl_Menu_Bar_set_down_box(self: Fl_Menu_BarPtr, box: int)
extern def Fl_Menu_Bar_down_box(self: Fl_Menu_BarPtr) -> int
extern def Fl_Menu_Bar_global(self: Fl_Menu_BarPtr)
extern def Fl_Menu_Bar_item_pathname(self: Fl_Menu_BarPtr, pathname: str, pathnamelen: int, item: Fl_Menu_ItemPtr) -> int
extern def Fl_Menu_Bar_set_menu_box(self: Fl_Menu_BarPtr, b: int)
extern def Fl_Menu_Bar_menu_box(self: Fl_Menu_BarPtr) -> int
extern def Fl_Menu_Bar_mvalue(self: Fl_Menu_BarPtr) -> Fl_Menu_ItemPtr
extern def Fl_Menu_Bar_prev_mvalue(self: Fl_Menu_BarPtr) -> Fl_Menu_ItemPtr
# ----- Fl_Menu_Button (widget_declare) -----
extern def Fl_Menu_Button_new(x: int, y: int, width: int, height: int, title: str) -> Fl_Menu_ButtonPtr
extern def Fl_Menu_Button_x(self: Fl_Menu_ButtonPtr) -> int
extern def Fl_Menu_Button_y(self: Fl_Menu_ButtonPtr) -> int
extern def Fl_Menu_Button_width(self: Fl_Menu_ButtonPtr) -> int
extern def Fl_Menu_Button_height(self: Fl_Menu_ButtonPtr) -> int
extern def Fl_Menu_Button_label(self: Fl_Menu_ButtonPtr) -> str
extern def Fl_Menu_Button_set_label(self: Fl_Menu_ButtonPtr, title: str)
extern def Fl_Menu_Button_redraw(self: Fl_Menu_ButtonPtr)
extern def Fl_Menu_Button_show(self: Fl_Menu_ButtonPtr)
extern def Fl_Menu_Button_hide(self: Fl_Menu_ButtonPtr)
extern def Fl_Menu_Button_activate(self: Fl_Menu_ButtonPtr)
extern def Fl_Menu_Button_deactivate(self: Fl_Menu_ButtonPtr)
extern def Fl_Menu_Button_redraw_label(self: Fl_Menu_ButtonPtr)
extern def Fl_Menu_Button_resize(self: Fl_Menu_ButtonPtr, x: int, y: int, width: int, height: int)
extern def Fl_Menu_Button_widget_resize(self: Fl_Menu_ButtonPtr, x: int, y: int, width: int, height: int)
extern def Fl_Menu_Button_tooltip(self: Fl_Menu_ButtonPtr) -> str
extern def Fl_Menu_Button_set_tooltip(self: Fl_Menu_ButtonPtr, txt: str)
extern def Fl_Menu_Button_get_type(self: Fl_Menu_ButtonPtr) -> int
extern def Fl_Menu_Button_set_type(self: Fl_Menu_ButtonPtr, typ: int)
extern def Fl_Menu_Button_color(self: Fl_Menu_ButtonPtr) -> t.CUInt32T
extern def Fl_Menu_Button_set_color(self: Fl_Menu_ButtonPtr, color: t.CUInt32T)
extern def Fl_Menu_Button_measure_label(self: Fl_Menu_ButtonPtr, a1: bytes, a2: bytes)
extern def Fl_Menu_Button_label_color(self: Fl_Menu_ButtonPtr) -> t.CUInt32T
extern def Fl_Menu_Button_set_label_color(self: Fl_Menu_ButtonPtr, color: t.CUInt32T)
extern def Fl_Menu_Button_label_font(self: Fl_Menu_ButtonPtr) -> int
extern def Fl_Menu_Button_set_label_font(self: Fl_Menu_ButtonPtr, font: int)
extern def Fl_Menu_Button_label_size(self: Fl_Menu_ButtonPtr) -> int
extern def Fl_Menu_Button_set_label_size(self: Fl_Menu_ButtonPtr, sz: int)
extern def Fl_Menu_Button_label_type(self: Fl_Menu_ButtonPtr) -> int
extern def Fl_Menu_Button_set_label_type(self: Fl_Menu_ButtonPtr, typ: int)
extern def Fl_Menu_Button_box(self: Fl_Menu_ButtonPtr) -> int
extern def Fl_Menu_Button_set_box(self: Fl_Menu_ButtonPtr, typ: int)
extern def Fl_Menu_Button_changed(self: Fl_Menu_ButtonPtr) -> int
extern def Fl_Menu_Button_set_changed(self: Fl_Menu_ButtonPtr)
extern def Fl_Menu_Button_clear_changed(self: Fl_Menu_ButtonPtr)
extern def Fl_Menu_Button_align(self: Fl_Menu_ButtonPtr) -> int
extern def Fl_Menu_Button_set_align(self: Fl_Menu_ButtonPtr, typ: int)
extern def Fl_Menu_Button_delete(self: Fl_Menu_ButtonPtr)
extern def Fl_Menu_Button_set_image(self: Fl_Menu_ButtonPtr, a1: bytes)
extern def Fl_Menu_Button_handle(self: Fl_Menu_ButtonPtr, cb: bytes, data: bytes)
extern def Fl_Menu_Button_handle_event(self: Fl_Menu_ButtonPtr, event: int) -> int
extern def Fl_Menu_Button_draw(self: Fl_Menu_ButtonPtr, cb: bytes, data: bytes)
extern def Fl_Menu_Button_resize_callback(self: Fl_Menu_ButtonPtr, cb1: bytes, data: bytes)
extern def Fl_Menu_Button_set_when(self: Fl_Menu_ButtonPtr, a1: int)
extern def Fl_Menu_Button_when(self: Fl_Menu_ButtonPtr) -> int
extern def Fl_Menu_Button_image(self: Fl_Menu_ButtonPtr) -> bytes
extern def Fl_Menu_Button_parent(self: Fl_Menu_ButtonPtr) -> bytes
extern def Fl_Menu_Button_selection_color(self: Fl_Menu_ButtonPtr) -> t.CUInt32T
extern def Fl_Menu_Button_set_selection_color(self: Fl_Menu_ButtonPtr, color: t.CUInt32T)
extern def Fl_Menu_Button_do_callback(self: Fl_Menu_ButtonPtr)
extern def Fl_Menu_Button_inside(self: Fl_Menu_ButtonPtr, a1: bytes) -> int
extern def Fl_Menu_Button_window(self: Fl_Menu_ButtonPtr) -> bytes
extern def Fl_Menu_Button_top_window(self: Fl_Menu_ButtonPtr) -> bytes
extern def Fl_Menu_Button_takes_events(self: Fl_Menu_ButtonPtr) -> int
extern def Fl_Menu_Button_user_data(self: Fl_Menu_ButtonPtr) -> bytes
extern def Fl_Menu_Button_take_focus(self: Fl_Menu_ButtonPtr) -> int
extern def Fl_Menu_Button_set_visible_focus(self: Fl_Menu_ButtonPtr)
extern def Fl_Menu_Button_clear_visible_focus(self: Fl_Menu_ButtonPtr)
extern def Fl_Menu_Button_visible_focus(self: Fl_Menu_ButtonPtr, v: int)
extern def Fl_Menu_Button_has_visible_focus(self: Fl_Menu_ButtonPtr) -> t.CUInt32T
extern def Fl_Menu_Button_set_user_data(self: Fl_Menu_ButtonPtr, data: bytes)
extern def Fl_Menu_Button_draw_data(self: Fl_Menu_ButtonPtr) -> bytes
extern def Fl_Menu_Button_handle_data(self: Fl_Menu_ButtonPtr) -> bytes
extern def Fl_Menu_Button_set_draw_data(self: Fl_Menu_ButtonPtr, data: bytes)
extern def Fl_Menu_Button_set_handle_data(self: Fl_Menu_ButtonPtr, data: bytes)
extern def Fl_Menu_Button_damage(self: Fl_Menu_ButtonPtr) -> t.CUInt8T
extern def Fl_Menu_Button_set_damage(self: Fl_Menu_ButtonPtr, flag: t.CUInt8T)
extern def Fl_Menu_Button_set_damage_area(self: Fl_Menu_ButtonPtr, flag: t.CUInt8T, x: int, y: int, w: int, h: int)
extern def Fl_Menu_Button_clear_damage(self: Fl_Menu_ButtonPtr)
extern def Fl_Menu_Button_as_window(self: Fl_Menu_ButtonPtr) -> bytes
extern def Fl_Menu_Button_as_group(self: Fl_Menu_ButtonPtr) -> bytes
extern def Fl_Menu_Button_set_deimage(self: Fl_Menu_ButtonPtr, a1: bytes)
extern def Fl_Menu_Button_deimage(self: Fl_Menu_ButtonPtr) -> bytes
extern def Fl_Menu_Button_set_callback(self: Fl_Menu_ButtonPtr, a1: bytes, a2: bytes)
extern def Fl_Menu_Button_visible(self: Fl_Menu_ButtonPtr) -> int
extern def Fl_Menu_Button_visible_r(self: Fl_Menu_ButtonPtr) -> int
extern def Fl_Menu_Button_active(self: Fl_Menu_ButtonPtr) -> t.CUInt32T
extern def Fl_Menu_Button_active_r(self: Fl_Menu_ButtonPtr) -> int
extern def Fl_Menu_Button_callback(self: Fl_Menu_ButtonPtr) -> bytes
extern def Fl_Menu_Button_set_deletion_callback(self: Fl_Menu_ButtonPtr, cb1: bytes, data: bytes)
extern def Fl_Menu_Button_from_dyn_ptr(ptr: Fl_WidgetPtr) -> Fl_Menu_ButtonPtr
extern def Fl_Menu_Button_from_derived_dyn_ptr(ptr: Fl_WidgetPtr) -> Fl_Menu_ButtonPtr
extern def Fl_Menu_Button_super_draw(ptr: Fl_WidgetPtr, flag: int)
extern def Fl_Menu_Button_super_draw_first(ptr: Fl_WidgetPtr, flag: int)
extern def Fl_Menu_Button_super_handle_first(ptr: Fl_WidgetPtr, flag: int)
# ----- Fl_Menu_Button (menu_declare) -----
extern def Fl_Menu_Button_add(self: Fl_Menu_ButtonPtr, name: str, shortcut: int, a3: bytes, a4: bytes, a5: int) -> int
extern def Fl_Menu_Button_insert(self: Fl_Menu_ButtonPtr, index: int, name: str, shortcut: int, a4: bytes, a5: bytes, a6: int) -> int
extern def Fl_Menu_Button_get_item(self: Fl_Menu_ButtonPtr, name: str) -> Fl_Menu_ItemPtr
extern def Fl_Menu_Button_set_item(self: Fl_Menu_ButtonPtr, item: Fl_Menu_ItemPtr) -> int
extern def Fl_Menu_Button_text_font(self: Fl_Menu_ButtonPtr) -> int
extern def Fl_Menu_Button_set_text_font(self: Fl_Menu_ButtonPtr, c: int)
extern def Fl_Menu_Button_text_size(self: Fl_Menu_ButtonPtr) -> int
extern def Fl_Menu_Button_set_text_size(self: Fl_Menu_ButtonPtr, c: int)
extern def Fl_Menu_Button_text_color(self: Fl_Menu_ButtonPtr) -> t.CUInt32T
extern def Fl_Menu_Button_set_text_color(self: Fl_Menu_ButtonPtr, c: t.CUInt32T)
extern def Fl_Menu_Button_add_choice(self: Fl_Menu_ButtonPtr, a1: str) -> int
extern def Fl_Menu_Button_get_choice(self: Fl_Menu_ButtonPtr) -> str
extern def Fl_Menu_Button_value(self: Fl_Menu_ButtonPtr) -> int
extern def Fl_Menu_Button_set_value(self: Fl_Menu_ButtonPtr, v: int) -> int
extern def Fl_Menu_Button_clear(self: Fl_Menu_ButtonPtr)
extern def Fl_Menu_Button_clear_submenu(self: Fl_Menu_ButtonPtr, index: int) -> int
extern def Fl_Menu_Button_size(self: Fl_Menu_ButtonPtr) -> int
extern def Fl_Menu_Button_text(self: Fl_Menu_ButtonPtr, idx: int) -> str
extern def Fl_Menu_Button_at(self: Fl_Menu_ButtonPtr, idx: int) -> Fl_Menu_ItemPtr
extern def Fl_Menu_Button_set_mode(self: Fl_Menu_ButtonPtr, i: int, fl: int)
extern def Fl_Menu_Button_mode(self: Fl_Menu_ButtonPtr, i: int) -> int
extern def Fl_Menu_Button_find_index(self: Fl_Menu_ButtonPtr, label: str) -> int
extern def Fl_Menu_Button_menu(self: Fl_Menu_ButtonPtr) -> Fl_Menu_ItemPtr
extern def Fl_Menu_Button_set_menu(self: Fl_Menu_ButtonPtr, item: Fl_Menu_ItemPtr)
extern def Fl_Menu_Button_remove(self: Fl_Menu_ButtonPtr, idx: int)
extern def Fl_Menu_Button_set_down_box(self: Fl_Menu_ButtonPtr, box: int)
extern def Fl_Menu_Button_down_box(self: Fl_Menu_ButtonPtr) -> int
extern def Fl_Menu_Button_global(self: Fl_Menu_ButtonPtr)
extern def Fl_Menu_Button_item_pathname(self: Fl_Menu_ButtonPtr, pathname: str, pathnamelen: int, item: Fl_Menu_ItemPtr) -> int
extern def Fl_Menu_Button_set_menu_box(self: Fl_Menu_ButtonPtr, b: int)
extern def Fl_Menu_Button_menu_box(self: Fl_Menu_ButtonPtr) -> int
extern def Fl_Menu_Button_mvalue(self: Fl_Menu_ButtonPtr) -> Fl_Menu_ItemPtr
extern def Fl_Menu_Button_prev_mvalue(self: Fl_Menu_ButtonPtr) -> Fl_Menu_ItemPtr
# ----- Fl_Choice (widget_declare) -----
extern def Fl_Choice_new(x: int, y: int, width: int, height: int, title: str) -> Fl_ChoicePtr
extern def Fl_Choice_x(self: Fl_ChoicePtr) -> int
extern def Fl_Choice_y(self: Fl_ChoicePtr) -> int
extern def Fl_Choice_width(self: Fl_ChoicePtr) -> int
extern def Fl_Choice_height(self: Fl_ChoicePtr) -> int
extern def Fl_Choice_label(self: Fl_ChoicePtr) -> str
extern def Fl_Choice_set_label(self: Fl_ChoicePtr, title: str)
extern def Fl_Choice_redraw(self: Fl_ChoicePtr)
extern def Fl_Choice_show(self: Fl_ChoicePtr)
extern def Fl_Choice_hide(self: Fl_ChoicePtr)
extern def Fl_Choice_activate(self: Fl_ChoicePtr)
extern def Fl_Choice_deactivate(self: Fl_ChoicePtr)
extern def Fl_Choice_redraw_label(self: Fl_ChoicePtr)
extern def Fl_Choice_resize(self: Fl_ChoicePtr, x: int, y: int, width: int, height: int)
extern def Fl_Choice_widget_resize(self: Fl_ChoicePtr, x: int, y: int, width: int, height: int)
extern def Fl_Choice_tooltip(self: Fl_ChoicePtr) -> str
extern def Fl_Choice_set_tooltip(self: Fl_ChoicePtr, txt: str)
extern def Fl_Choice_get_type(self: Fl_ChoicePtr) -> int
extern def Fl_Choice_set_type(self: Fl_ChoicePtr, typ: int)
extern def Fl_Choice_color(self: Fl_ChoicePtr) -> t.CUInt32T
extern def Fl_Choice_set_color(self: Fl_ChoicePtr, color: t.CUInt32T)
extern def Fl_Choice_measure_label(self: Fl_ChoicePtr, a1: bytes, a2: bytes)
extern def Fl_Choice_label_color(self: Fl_ChoicePtr) -> t.CUInt32T
extern def Fl_Choice_set_label_color(self: Fl_ChoicePtr, color: t.CUInt32T)
extern def Fl_Choice_label_font(self: Fl_ChoicePtr) -> int
extern def Fl_Choice_set_label_font(self: Fl_ChoicePtr, font: int)
extern def Fl_Choice_label_size(self: Fl_ChoicePtr) -> int
extern def Fl_Choice_set_label_size(self: Fl_ChoicePtr, sz: int)
extern def Fl_Choice_label_type(self: Fl_ChoicePtr) -> int
extern def Fl_Choice_set_label_type(self: Fl_ChoicePtr, typ: int)
extern def Fl_Choice_box(self: Fl_ChoicePtr) -> int
extern def Fl_Choice_set_box(self: Fl_ChoicePtr, typ: int)
extern def Fl_Choice_changed(self: Fl_ChoicePtr) -> int
extern def Fl_Choice_set_changed(self: Fl_ChoicePtr)
extern def Fl_Choice_clear_changed(self: Fl_ChoicePtr)
extern def Fl_Choice_align(self: Fl_ChoicePtr) -> int
extern def Fl_Choice_set_align(self: Fl_ChoicePtr, typ: int)
extern def Fl_Choice_delete(self: Fl_ChoicePtr)
extern def Fl_Choice_set_image(self: Fl_ChoicePtr, a1: bytes)
extern def Fl_Choice_handle(self: Fl_ChoicePtr, cb: bytes, data: bytes)
extern def Fl_Choice_handle_event(self: Fl_ChoicePtr, event: int) -> int
extern def Fl_Choice_draw(self: Fl_ChoicePtr, cb: bytes, data: bytes)
extern def Fl_Choice_resize_callback(self: Fl_ChoicePtr, cb1: bytes, data: bytes)
extern def Fl_Choice_set_when(self: Fl_ChoicePtr, a1: int)
extern def Fl_Choice_when(self: Fl_ChoicePtr) -> int
extern def Fl_Choice_image(self: Fl_ChoicePtr) -> bytes
extern def Fl_Choice_parent(self: Fl_ChoicePtr) -> bytes
extern def Fl_Choice_selection_color(self: Fl_ChoicePtr) -> t.CUInt32T
extern def Fl_Choice_set_selection_color(self: Fl_ChoicePtr, color: t.CUInt32T)
extern def Fl_Choice_do_callback(self: Fl_ChoicePtr)
extern def Fl_Choice_inside(self: Fl_ChoicePtr, a1: bytes) -> int
extern def Fl_Choice_window(self: Fl_ChoicePtr) -> bytes
extern def Fl_Choice_top_window(self: Fl_ChoicePtr) -> bytes
extern def Fl_Choice_takes_events(self: Fl_ChoicePtr) -> int
extern def Fl_Choice_user_data(self: Fl_ChoicePtr) -> bytes
extern def Fl_Choice_take_focus(self: Fl_ChoicePtr) -> int
extern def Fl_Choice_set_visible_focus(self: Fl_ChoicePtr)
extern def Fl_Choice_clear_visible_focus(self: Fl_ChoicePtr)
extern def Fl_Choice_visible_focus(self: Fl_ChoicePtr, v: int)
extern def Fl_Choice_has_visible_focus(self: Fl_ChoicePtr) -> t.CUInt32T
extern def Fl_Choice_set_user_data(self: Fl_ChoicePtr, data: bytes)
extern def Fl_Choice_draw_data(self: Fl_ChoicePtr) -> bytes
extern def Fl_Choice_handle_data(self: Fl_ChoicePtr) -> bytes
extern def Fl_Choice_set_draw_data(self: Fl_ChoicePtr, data: bytes)
extern def Fl_Choice_set_handle_data(self: Fl_ChoicePtr, data: bytes)
extern def Fl_Choice_damage(self: Fl_ChoicePtr) -> t.CUInt8T
extern def Fl_Choice_set_damage(self: Fl_ChoicePtr, flag: t.CUInt8T)
extern def Fl_Choice_set_damage_area(self: Fl_ChoicePtr, flag: t.CUInt8T, x: int, y: int, w: int, h: int)
extern def Fl_Choice_clear_damage(self: Fl_ChoicePtr)
extern def Fl_Choice_as_window(self: Fl_ChoicePtr) -> bytes
extern def Fl_Choice_as_group(self: Fl_ChoicePtr) -> bytes
extern def Fl_Choice_set_deimage(self: Fl_ChoicePtr, a1: bytes)
extern def Fl_Choice_deimage(self: Fl_ChoicePtr) -> bytes
extern def Fl_Choice_set_callback(self: Fl_ChoicePtr, a1: bytes, a2: bytes)
extern def Fl_Choice_visible(self: Fl_ChoicePtr) -> int
extern def Fl_Choice_visible_r(self: Fl_ChoicePtr) -> int
extern def Fl_Choice_active(self: Fl_ChoicePtr) -> t.CUInt32T
extern def Fl_Choice_active_r(self: Fl_ChoicePtr) -> int
extern def Fl_Choice_callback(self: Fl_ChoicePtr) -> bytes
extern def Fl_Choice_set_deletion_callback(self: Fl_ChoicePtr, cb1: bytes, data: bytes)
extern def Fl_Choice_from_dyn_ptr(ptr: Fl_WidgetPtr) -> Fl_ChoicePtr
extern def Fl_Choice_from_derived_dyn_ptr(ptr: Fl_WidgetPtr) -> Fl_ChoicePtr
extern def Fl_Choice_super_draw(ptr: Fl_WidgetPtr, flag: int)
extern def Fl_Choice_super_draw_first(ptr: Fl_WidgetPtr, flag: int)
extern def Fl_Choice_super_handle_first(ptr: Fl_WidgetPtr, flag: int)
# ----- Fl_Choice (menu_declare) -----
extern def Fl_Choice_add(self: Fl_ChoicePtr, name: str, shortcut: int, a3: bytes, a4: bytes, a5: int) -> int
extern def Fl_Choice_insert(self: Fl_ChoicePtr, index: int, name: str, shortcut: int, a4: bytes, a5: bytes, a6: int) -> int
extern def Fl_Choice_get_item(self: Fl_ChoicePtr, name: str) -> Fl_Menu_ItemPtr
extern def Fl_Choice_set_item(self: Fl_ChoicePtr, item: Fl_Menu_ItemPtr) -> int
extern def Fl_Choice_text_font(self: Fl_ChoicePtr) -> int
extern def Fl_Choice_set_text_font(self: Fl_ChoicePtr, c: int)
extern def Fl_Choice_text_size(self: Fl_ChoicePtr) -> int
extern def Fl_Choice_set_text_size(self: Fl_ChoicePtr, c: int)
extern def Fl_Choice_text_color(self: Fl_ChoicePtr) -> t.CUInt32T
extern def Fl_Choice_set_text_color(self: Fl_ChoicePtr, c: t.CUInt32T)
extern def Fl_Choice_add_choice(self: Fl_ChoicePtr, a1: str) -> int
extern def Fl_Choice_get_choice(self: Fl_ChoicePtr) -> str
extern def Fl_Choice_value(self: Fl_ChoicePtr) -> int
extern def Fl_Choice_set_value(self: Fl_ChoicePtr, v: int) -> int
extern def Fl_Choice_clear(self: Fl_ChoicePtr)
extern def Fl_Choice_clear_submenu(self: Fl_ChoicePtr, index: int) -> int
extern def Fl_Choice_size(self: Fl_ChoicePtr) -> int
extern def Fl_Choice_text(self: Fl_ChoicePtr, idx: int) -> str
extern def Fl_Choice_at(self: Fl_ChoicePtr, idx: int) -> Fl_Menu_ItemPtr
extern def Fl_Choice_set_mode(self: Fl_ChoicePtr, i: int, fl: int)
extern def Fl_Choice_mode(self: Fl_ChoicePtr, i: int) -> int
extern def Fl_Choice_find_index(self: Fl_ChoicePtr, label: str) -> int
extern def Fl_Choice_menu(self: Fl_ChoicePtr) -> Fl_Menu_ItemPtr
extern def Fl_Choice_set_menu(self: Fl_ChoicePtr, item: Fl_Menu_ItemPtr)
extern def Fl_Choice_remove(self: Fl_ChoicePtr, idx: int)
extern def Fl_Choice_set_down_box(self: Fl_ChoicePtr, box: int)
extern def Fl_Choice_down_box(self: Fl_ChoicePtr) -> int
extern def Fl_Choice_global(self: Fl_ChoicePtr)
extern def Fl_Choice_item_pathname(self: Fl_ChoicePtr, pathname: str, pathnamelen: int, item: Fl_Menu_ItemPtr) -> int
extern def Fl_Choice_set_menu_box(self: Fl_ChoicePtr, b: int)
extern def Fl_Choice_menu_box(self: Fl_ChoicePtr) -> int
extern def Fl_Choice_mvalue(self: Fl_ChoicePtr) -> Fl_Menu_ItemPtr
extern def Fl_Choice_prev_mvalue(self: Fl_ChoicePtr) -> Fl_Menu_ItemPtr
# ----- Fl_Sys_Menu_Bar (widget_declare) -----
extern def Fl_Sys_Menu_Bar_new(x: int, y: int, width: int, height: int, title: str) -> Fl_Sys_Menu_BarPtr
extern def Fl_Sys_Menu_Bar_x(self: Fl_Sys_Menu_BarPtr) -> int
extern def Fl_Sys_Menu_Bar_y(self: Fl_Sys_Menu_BarPtr) -> int
extern def Fl_Sys_Menu_Bar_width(self: Fl_Sys_Menu_BarPtr) -> int
extern def Fl_Sys_Menu_Bar_height(self: Fl_Sys_Menu_BarPtr) -> int
extern def Fl_Sys_Menu_Bar_label(self: Fl_Sys_Menu_BarPtr) -> str
extern def Fl_Sys_Menu_Bar_set_label(self: Fl_Sys_Menu_BarPtr, title: str)
extern def Fl_Sys_Menu_Bar_redraw(self: Fl_Sys_Menu_BarPtr)
extern def Fl_Sys_Menu_Bar_show(self: Fl_Sys_Menu_BarPtr)
extern def Fl_Sys_Menu_Bar_hide(self: Fl_Sys_Menu_BarPtr)
extern def Fl_Sys_Menu_Bar_activate(self: Fl_Sys_Menu_BarPtr)
extern def Fl_Sys_Menu_Bar_deactivate(self: Fl_Sys_Menu_BarPtr)
extern def Fl_Sys_Menu_Bar_redraw_label(self: Fl_Sys_Menu_BarPtr)
extern def Fl_Sys_Menu_Bar_resize(self: Fl_Sys_Menu_BarPtr, x: int, y: int, width: int, height: int)
extern def Fl_Sys_Menu_Bar_widget_resize(self: Fl_Sys_Menu_BarPtr, x: int, y: int, width: int, height: int)
extern def Fl_Sys_Menu_Bar_tooltip(self: Fl_Sys_Menu_BarPtr) -> str
extern def Fl_Sys_Menu_Bar_set_tooltip(self: Fl_Sys_Menu_BarPtr, txt: str)
extern def Fl_Sys_Menu_Bar_get_type(self: Fl_Sys_Menu_BarPtr) -> int
extern def Fl_Sys_Menu_Bar_set_type(self: Fl_Sys_Menu_BarPtr, typ: int)
extern def Fl_Sys_Menu_Bar_color(self: Fl_Sys_Menu_BarPtr) -> t.CUInt32T
extern def Fl_Sys_Menu_Bar_set_color(self: Fl_Sys_Menu_BarPtr, color: t.CUInt32T)
extern def Fl_Sys_Menu_Bar_measure_label(self: Fl_Sys_Menu_BarPtr, a1: bytes, a2: bytes)
extern def Fl_Sys_Menu_Bar_label_color(self: Fl_Sys_Menu_BarPtr) -> t.CUInt32T
extern def Fl_Sys_Menu_Bar_set_label_color(self: Fl_Sys_Menu_BarPtr, color: t.CUInt32T)
extern def Fl_Sys_Menu_Bar_label_font(self: Fl_Sys_Menu_BarPtr) -> int
extern def Fl_Sys_Menu_Bar_set_label_font(self: Fl_Sys_Menu_BarPtr, font: int)
extern def Fl_Sys_Menu_Bar_label_size(self: Fl_Sys_Menu_BarPtr) -> int
extern def Fl_Sys_Menu_Bar_set_label_size(self: Fl_Sys_Menu_BarPtr, sz: int)
extern def Fl_Sys_Menu_Bar_label_type(self: Fl_Sys_Menu_BarPtr) -> int
extern def Fl_Sys_Menu_Bar_set_label_type(self: Fl_Sys_Menu_BarPtr, typ: int)
extern def Fl_Sys_Menu_Bar_box(self: Fl_Sys_Menu_BarPtr) -> int
extern def Fl_Sys_Menu_Bar_set_box(self: Fl_Sys_Menu_BarPtr, typ: int)
extern def Fl_Sys_Menu_Bar_changed(self: Fl_Sys_Menu_BarPtr) -> int
extern def Fl_Sys_Menu_Bar_set_changed(self: Fl_Sys_Menu_BarPtr)
extern def Fl_Sys_Menu_Bar_clear_changed(self: Fl_Sys_Menu_BarPtr)
extern def Fl_Sys_Menu_Bar_align(self: Fl_Sys_Menu_BarPtr) -> int
extern def Fl_Sys_Menu_Bar_set_align(self: Fl_Sys_Menu_BarPtr, typ: int)
extern def Fl_Sys_Menu_Bar_delete(self: Fl_Sys_Menu_BarPtr)
extern def Fl_Sys_Menu_Bar_set_image(self: Fl_Sys_Menu_BarPtr, a1: bytes)
extern def Fl_Sys_Menu_Bar_handle(self: Fl_Sys_Menu_BarPtr, cb: bytes, data: bytes)
extern def Fl_Sys_Menu_Bar_handle_event(self: Fl_Sys_Menu_BarPtr, event: int) -> int
extern def Fl_Sys_Menu_Bar_draw(self: Fl_Sys_Menu_BarPtr, cb: bytes, data: bytes)
extern def Fl_Sys_Menu_Bar_resize_callback(self: Fl_Sys_Menu_BarPtr, cb1: bytes, data: bytes)
extern def Fl_Sys_Menu_Bar_set_when(self: Fl_Sys_Menu_BarPtr, a1: int)
extern def Fl_Sys_Menu_Bar_when(self: Fl_Sys_Menu_BarPtr) -> int
extern def Fl_Sys_Menu_Bar_image(self: Fl_Sys_Menu_BarPtr) -> bytes
extern def Fl_Sys_Menu_Bar_parent(self: Fl_Sys_Menu_BarPtr) -> bytes
extern def Fl_Sys_Menu_Bar_selection_color(self: Fl_Sys_Menu_BarPtr) -> t.CUInt32T
extern def Fl_Sys_Menu_Bar_set_selection_color(self: Fl_Sys_Menu_BarPtr, color: t.CUInt32T)
extern def Fl_Sys_Menu_Bar_do_callback(self: Fl_Sys_Menu_BarPtr)
extern def Fl_Sys_Menu_Bar_inside(self: Fl_Sys_Menu_BarPtr, a1: bytes) -> int
extern def Fl_Sys_Menu_Bar_window(self: Fl_Sys_Menu_BarPtr) -> bytes
extern def Fl_Sys_Menu_Bar_top_window(self: Fl_Sys_Menu_BarPtr) -> bytes
extern def Fl_Sys_Menu_Bar_takes_events(self: Fl_Sys_Menu_BarPtr) -> int
extern def Fl_Sys_Menu_Bar_user_data(self: Fl_Sys_Menu_BarPtr) -> bytes
extern def Fl_Sys_Menu_Bar_take_focus(self: Fl_Sys_Menu_BarPtr) -> int
extern def Fl_Sys_Menu_Bar_set_visible_focus(self: Fl_Sys_Menu_BarPtr)
extern def Fl_Sys_Menu_Bar_clear_visible_focus(self: Fl_Sys_Menu_BarPtr)
extern def Fl_Sys_Menu_Bar_visible_focus(self: Fl_Sys_Menu_BarPtr, v: int)
extern def Fl_Sys_Menu_Bar_has_visible_focus(self: Fl_Sys_Menu_BarPtr) -> t.CUInt32T
extern def Fl_Sys_Menu_Bar_set_user_data(self: Fl_Sys_Menu_BarPtr, data: bytes)
extern def Fl_Sys_Menu_Bar_draw_data(self: Fl_Sys_Menu_BarPtr) -> bytes
extern def Fl_Sys_Menu_Bar_handle_data(self: Fl_Sys_Menu_BarPtr) -> bytes
extern def Fl_Sys_Menu_Bar_set_draw_data(self: Fl_Sys_Menu_BarPtr, data: bytes)
extern def Fl_Sys_Menu_Bar_set_handle_data(self: Fl_Sys_Menu_BarPtr, data: bytes)
extern def Fl_Sys_Menu_Bar_damage(self: Fl_Sys_Menu_BarPtr) -> t.CUInt8T
extern def Fl_Sys_Menu_Bar_set_damage(self: Fl_Sys_Menu_BarPtr, flag: t.CUInt8T)
extern def Fl_Sys_Menu_Bar_set_damage_area(self: Fl_Sys_Menu_BarPtr, flag: t.CUInt8T, x: int, y: int, w: int, h: int)
extern def Fl_Sys_Menu_Bar_clear_damage(self: Fl_Sys_Menu_BarPtr)
extern def Fl_Sys_Menu_Bar_as_window(self: Fl_Sys_Menu_BarPtr) -> bytes
extern def Fl_Sys_Menu_Bar_as_group(self: Fl_Sys_Menu_BarPtr) -> bytes
extern def Fl_Sys_Menu_Bar_set_deimage(self: Fl_Sys_Menu_BarPtr, a1: bytes)
extern def Fl_Sys_Menu_Bar_deimage(self: Fl_Sys_Menu_BarPtr) -> bytes
extern def Fl_Sys_Menu_Bar_set_callback(self: Fl_Sys_Menu_BarPtr, a1: bytes, a2: bytes)
extern def Fl_Sys_Menu_Bar_visible(self: Fl_Sys_Menu_BarPtr) -> int
extern def Fl_Sys_Menu_Bar_visible_r(self: Fl_Sys_Menu_BarPtr) -> int
extern def Fl_Sys_Menu_Bar_active(self: Fl_Sys_Menu_BarPtr) -> t.CUInt32T
extern def Fl_Sys_Menu_Bar_active_r(self: Fl_Sys_Menu_BarPtr) -> int
extern def Fl_Sys_Menu_Bar_callback(self: Fl_Sys_Menu_BarPtr) -> bytes
extern def Fl_Sys_Menu_Bar_set_deletion_callback(self: Fl_Sys_Menu_BarPtr, cb1: bytes, data: bytes)
extern def Fl_Sys_Menu_Bar_from_dyn_ptr(ptr: Fl_WidgetPtr) -> Fl_Sys_Menu_BarPtr
extern def Fl_Sys_Menu_Bar_from_derived_dyn_ptr(ptr: Fl_WidgetPtr) -> Fl_Sys_Menu_BarPtr
extern def Fl_Sys_Menu_Bar_super_draw(ptr: Fl_WidgetPtr, flag: int)
extern def Fl_Sys_Menu_Bar_super_draw_first(ptr: Fl_WidgetPtr, flag: int)
extern def Fl_Sys_Menu_Bar_super_handle_first(ptr: Fl_WidgetPtr, flag: int)
# ----- Fl_Sys_Menu_Bar (menu_declare) -----
extern def Fl_Sys_Menu_Bar_add(self: Fl_Sys_Menu_BarPtr, name: str, shortcut: int, a3: bytes, a4: bytes, a5: int) -> int
extern def Fl_Sys_Menu_Bar_insert(self: Fl_Sys_Menu_BarPtr, index: int, name: str, shortcut: int, a4: bytes, a5: bytes, a6: int) -> int
extern def Fl_Sys_Menu_Bar_get_item(self: Fl_Sys_Menu_BarPtr, name: str) -> Fl_Menu_ItemPtr
extern def Fl_Sys_Menu_Bar_set_item(self: Fl_Sys_Menu_BarPtr, item: Fl_Menu_ItemPtr) -> int
extern def Fl_Sys_Menu_Bar_text_font(self: Fl_Sys_Menu_BarPtr) -> int
extern def Fl_Sys_Menu_Bar_set_text_font(self: Fl_Sys_Menu_BarPtr, c: int)
extern def Fl_Sys_Menu_Bar_text_size(self: Fl_Sys_Menu_BarPtr) -> int
extern def Fl_Sys_Menu_Bar_set_text_size(self: Fl_Sys_Menu_BarPtr, c: int)
extern def Fl_Sys_Menu_Bar_text_color(self: Fl_Sys_Menu_BarPtr) -> t.CUInt32T
extern def Fl_Sys_Menu_Bar_set_text_color(self: Fl_Sys_Menu_BarPtr, c: t.CUInt32T)
extern def Fl_Sys_Menu_Bar_add_choice(self: Fl_Sys_Menu_BarPtr, a1: str) -> int
extern def Fl_Sys_Menu_Bar_get_choice(self: Fl_Sys_Menu_BarPtr) -> str
extern def Fl_Sys_Menu_Bar_value(self: Fl_Sys_Menu_BarPtr) -> int
extern def Fl_Sys_Menu_Bar_set_value(self: Fl_Sys_Menu_BarPtr, v: int) -> int
extern def Fl_Sys_Menu_Bar_clear(self: Fl_Sys_Menu_BarPtr)
extern def Fl_Sys_Menu_Bar_clear_submenu(self: Fl_Sys_Menu_BarPtr, index: int) -> int
extern def Fl_Sys_Menu_Bar_size(self: Fl_Sys_Menu_BarPtr) -> int
extern def Fl_Sys_Menu_Bar_text(self: Fl_Sys_Menu_BarPtr, idx: int) -> str
extern def Fl_Sys_Menu_Bar_at(self: Fl_Sys_Menu_BarPtr, idx: int) -> Fl_Menu_ItemPtr
extern def Fl_Sys_Menu_Bar_set_mode(self: Fl_Sys_Menu_BarPtr, i: int, fl: int)
extern def Fl_Sys_Menu_Bar_mode(self: Fl_Sys_Menu_BarPtr, i: int) -> int
extern def Fl_Sys_Menu_Bar_find_index(self: Fl_Sys_Menu_BarPtr, label: str) -> int
extern def Fl_Sys_Menu_Bar_menu(self: Fl_Sys_Menu_BarPtr) -> Fl_Menu_ItemPtr
extern def Fl_Sys_Menu_Bar_set_menu(self: Fl_Sys_Menu_BarPtr, item: Fl_Menu_ItemPtr)
extern def Fl_Sys_Menu_Bar_remove(self: Fl_Sys_Menu_BarPtr, idx: int)
extern def Fl_Sys_Menu_Bar_set_down_box(self: Fl_Sys_Menu_BarPtr, box: int)
extern def Fl_Sys_Menu_Bar_down_box(self: Fl_Sys_Menu_BarPtr) -> int
extern def Fl_Sys_Menu_Bar_global(self: Fl_Sys_Menu_BarPtr)
extern def Fl_Sys_Menu_Bar_item_pathname(self: Fl_Sys_Menu_BarPtr, pathname: str, pathnamelen: int, item: Fl_Menu_ItemPtr) -> int
extern def Fl_Sys_Menu_Bar_set_menu_box(self: Fl_Sys_Menu_BarPtr, b: int)
extern def Fl_Sys_Menu_Bar_menu_box(self: Fl_Sys_Menu_BarPtr) -> int
extern def Fl_Sys_Menu_Bar_mvalue(self: Fl_Sys_Menu_BarPtr) -> Fl_Menu_ItemPtr
extern def Fl_Sys_Menu_Bar_prev_mvalue(self: Fl_Sys_Menu_BarPtr) -> Fl_Menu_ItemPtr
extern def Fl_Menu_Button_popup(self: Fl_Menu_ButtonPtr) -> Fl_Menu_ItemPtr
extern def Fl_Sys_Menu_Bar_set_window_menu_style(style: int)
extern def Fl_Sys_Menu_Bar_about(self: Fl_Sys_Menu_BarPtr, cb: bytes, data: bytes)
extern def Fl_Menu_Item_new(args: bytes, sz: int) -> Fl_Menu_ItemPtr
extern def Fl_Menu_Item_new2(args: bytes, shortcuts: bytes, cb: bytes, flags: bytes, labeltype: bytes, labelfont: bytes, labelsize: bytes, labelcolor: bytes, sz: int) -> Fl_Menu_ItemPtr
extern def Fl_Menu_Item_delete(self: Fl_Menu_ItemPtr)
extern def Fl_Menu_Item_popup(self: Fl_Menu_ItemPtr, x: int, y: int) -> Fl_Menu_ItemPtr
extern def Fl_Menu_Item_pulldown(self: Fl_Menu_ItemPtr, X: int, Y: int, W: int, H: int, picked: Fl_Menu_ItemPtr, a6: bytes, title: Fl_Menu_ItemPtr, menubar: int) -> Fl_Menu_ItemPtr
extern def Fl_Menu_Item_label(a0: Fl_Menu_ItemPtr) -> str
extern def Fl_Menu_Item_set_label(a0: Fl_Menu_ItemPtr, a: str)
extern def Fl_Menu_Item_label_type(a0: Fl_Menu_ItemPtr) -> int
extern def Fl_Menu_Item_set_label_type(a0: Fl_Menu_ItemPtr, a: int)
extern def Fl_Menu_Item_label_color(a0: Fl_Menu_ItemPtr) -> t.CUInt32T
extern def Fl_Menu_Item_set_label_color(a0: Fl_Menu_ItemPtr, a: t.CUInt32T)
extern def Fl_Menu_Item_label_font(a0: Fl_Menu_ItemPtr) -> int
extern def Fl_Menu_Item_set_label_font(a0: Fl_Menu_ItemPtr, a: int)
extern def Fl_Menu_Item_label_size(a0: Fl_Menu_ItemPtr) -> int
extern def Fl_Menu_Item_set_label_size(a0: Fl_Menu_ItemPtr, a: int)
extern def Fl_Menu_Item_value(a0: Fl_Menu_ItemPtr) -> int
extern def Fl_Menu_Item_set(a0: Fl_Menu_ItemPtr)
extern def Fl_Menu_Item_clear(a0: Fl_Menu_ItemPtr)
extern def Fl_Menu_Item_visible(a0: Fl_Menu_ItemPtr) -> int
extern def Fl_Menu_Item_show(a0: Fl_Menu_ItemPtr)
extern def Fl_Menu_Item_hide(a0: Fl_Menu_ItemPtr)
extern def Fl_Menu_Item_active(a0: Fl_Menu_ItemPtr) -> int
extern def Fl_Menu_Item_activate(a0: Fl_Menu_ItemPtr)
extern def Fl_Menu_Item_deactivate(a0: Fl_Menu_ItemPtr)
extern def Fl_Menu_Item_submenu(self: Fl_Menu_ItemPtr) -> int
extern def Fl_Menu_Item_checkbox(self: Fl_Menu_ItemPtr) -> int
extern def Fl_Menu_Item_radio(self: Fl_Menu_ItemPtr) -> int
extern def Fl_Menu_Item_next(self: Fl_Menu_ItemPtr, idx: int) -> Fl_Menu_ItemPtr
extern def Fl_Menu_Item_set_callback(self: Fl_Menu_ItemPtr, c: bytes, p: bytes)
extern def Fl_Menu_Item_do_callback(self: Fl_Menu_ItemPtr, w: Fl_WidgetPtr)
extern def Fl_Menu_Item_user_data(a0: Fl_Menu_ItemPtr) -> bytes
extern def Fl_Menu_Item_set_user_data(a0: Fl_Menu_ItemPtr, data: bytes)
extern def Fl_Menu_Item_draw(self: Fl_Menu_ItemPtr, x: int, y: int, w: int, h: int, m: bytes, selected: int)
extern def Fl_Menu_Item_measure(self: Fl_Menu_ItemPtr, hp: bytes, m: bytes) -> int
extern def Fl_Menu_Item_image(self: Fl_Menu_ItemPtr, image: bytes)
extern def Fl_Menu_Item_add_image(self: Fl_Menu_ItemPtr, image: bytes, on_left: int)
extern def Fl_Menu_Item_children(self: Fl_Menu_ItemPtr) -> int
extern def Fl_Menu_Item_at(self: Fl_Menu_ItemPtr, idx: int) -> Fl_Menu_ItemPtr
extern def Fl_Menu_Item_add(self: Fl_Menu_ItemPtr, name: str, shortcut: int, cb: bytes, data: bytes, flag: int) -> int
extern def Fl_Menu_Item_insert(self: Fl_Menu_ItemPtr, index: int, name: str, shortcut: int, cb: bytes, data: bytes, flag: int) -> int
extern def Fl_Menu_Item_set_shortcut(self: Fl_Menu_ItemPtr, shortcut: int)
extern def Fl_Menu_Item_set_flag(self: Fl_Menu_ItemPtr, flag: int)
extern def Fl_mac_set_about(cb: bytes, user_data: bytes, shortcut: int)
extern def Fl_Mac_App_Menu_custom_application_menu_items(m: Fl_Menu_ItemPtr)
extern def Fl_Mac_App_Menu_set_about(about: str)
extern def Fl_Mac_App_Menu_set_print(print: str)
extern def Fl_Mac_App_Menu_set_print_no_titlebar(print_no_titlebar: str)
extern def Fl_Mac_App_Menu_set_toggle_print_titlebar(toggle_print_titlebar: str)
extern def Fl_Mac_App_Menu_set_services(services: str)
extern def Fl_Mac_App_Menu_set_hide(hide: str)
extern def Fl_Mac_App_Menu_set_hide_others(hide_others: str)
extern def Fl_Mac_App_Menu_set_show(show: str)
extern def Fl_Mac_App_Menu_set_quit(quit: str)
-641
View File
@@ -1,641 +0,0 @@
import t, c
from fltk._types import *
# ============================================================
# fltk/_cfl_misc.vp — cfl_misc.h 的 extern FFI 声明(对接 cfltk C API)
# ============================================================
# 所有函数直接对应 cfltk 生成的 C 符号(extern "C"),链接目标: cfltk2。
# 类型约定: Fl_* 对象均为不透明指针 (Fl_XxxPtr);const char* → str;
# 函数指针/void* → bytes(Viper 端传 0/NULL 或不使用)。
# ----- Fl_Spinner (widget_declare) -----
extern def Fl_Spinner_new(x: int, y: int, width: int, height: int, title: str) -> Fl_SpinnerPtr
extern def Fl_Spinner_x(self: Fl_SpinnerPtr) -> int
extern def Fl_Spinner_y(self: Fl_SpinnerPtr) -> int
extern def Fl_Spinner_width(self: Fl_SpinnerPtr) -> int
extern def Fl_Spinner_height(self: Fl_SpinnerPtr) -> int
extern def Fl_Spinner_label(self: Fl_SpinnerPtr) -> str
extern def Fl_Spinner_set_label(self: Fl_SpinnerPtr, title: str)
extern def Fl_Spinner_redraw(self: Fl_SpinnerPtr)
extern def Fl_Spinner_show(self: Fl_SpinnerPtr)
extern def Fl_Spinner_hide(self: Fl_SpinnerPtr)
extern def Fl_Spinner_activate(self: Fl_SpinnerPtr)
extern def Fl_Spinner_deactivate(self: Fl_SpinnerPtr)
extern def Fl_Spinner_redraw_label(self: Fl_SpinnerPtr)
extern def Fl_Spinner_resize(self: Fl_SpinnerPtr, x: int, y: int, width: int, height: int)
extern def Fl_Spinner_widget_resize(self: Fl_SpinnerPtr, x: int, y: int, width: int, height: int)
extern def Fl_Spinner_tooltip(self: Fl_SpinnerPtr) -> str
extern def Fl_Spinner_set_tooltip(self: Fl_SpinnerPtr, txt: str)
extern def Fl_Spinner_get_type(self: Fl_SpinnerPtr) -> int
extern def Fl_Spinner_set_type(self: Fl_SpinnerPtr, typ: int)
extern def Fl_Spinner_color(self: Fl_SpinnerPtr) -> t.CUInt32T
extern def Fl_Spinner_set_color(self: Fl_SpinnerPtr, color: t.CUInt32T)
extern def Fl_Spinner_measure_label(self: Fl_SpinnerPtr, a1: bytes, a2: bytes)
extern def Fl_Spinner_label_color(self: Fl_SpinnerPtr) -> t.CUInt32T
extern def Fl_Spinner_set_label_color(self: Fl_SpinnerPtr, color: t.CUInt32T)
extern def Fl_Spinner_label_font(self: Fl_SpinnerPtr) -> int
extern def Fl_Spinner_set_label_font(self: Fl_SpinnerPtr, font: int)
extern def Fl_Spinner_label_size(self: Fl_SpinnerPtr) -> int
extern def Fl_Spinner_set_label_size(self: Fl_SpinnerPtr, sz: int)
extern def Fl_Spinner_label_type(self: Fl_SpinnerPtr) -> int
extern def Fl_Spinner_set_label_type(self: Fl_SpinnerPtr, typ: int)
extern def Fl_Spinner_box(self: Fl_SpinnerPtr) -> int
extern def Fl_Spinner_set_box(self: Fl_SpinnerPtr, typ: int)
extern def Fl_Spinner_changed(self: Fl_SpinnerPtr) -> int
extern def Fl_Spinner_set_changed(self: Fl_SpinnerPtr)
extern def Fl_Spinner_clear_changed(self: Fl_SpinnerPtr)
extern def Fl_Spinner_align(self: Fl_SpinnerPtr) -> int
extern def Fl_Spinner_set_align(self: Fl_SpinnerPtr, typ: int)
extern def Fl_Spinner_delete(self: Fl_SpinnerPtr)
extern def Fl_Spinner_set_image(self: Fl_SpinnerPtr, a1: bytes)
extern def Fl_Spinner_handle(self: Fl_SpinnerPtr, cb: bytes, data: bytes)
extern def Fl_Spinner_handle_event(self: Fl_SpinnerPtr, event: int) -> int
extern def Fl_Spinner_draw(self: Fl_SpinnerPtr, cb: bytes, data: bytes)
extern def Fl_Spinner_resize_callback(self: Fl_SpinnerPtr, cb1: bytes, data: bytes)
extern def Fl_Spinner_set_when(self: Fl_SpinnerPtr, a1: int)
extern def Fl_Spinner_when(self: Fl_SpinnerPtr) -> int
extern def Fl_Spinner_image(self: Fl_SpinnerPtr) -> bytes
extern def Fl_Spinner_parent(self: Fl_SpinnerPtr) -> bytes
extern def Fl_Spinner_selection_color(self: Fl_SpinnerPtr) -> t.CUInt32T
extern def Fl_Spinner_set_selection_color(self: Fl_SpinnerPtr, color: t.CUInt32T)
extern def Fl_Spinner_do_callback(self: Fl_SpinnerPtr)
extern def Fl_Spinner_inside(self: Fl_SpinnerPtr, a1: bytes) -> int
extern def Fl_Spinner_window(self: Fl_SpinnerPtr) -> bytes
extern def Fl_Spinner_top_window(self: Fl_SpinnerPtr) -> bytes
extern def Fl_Spinner_takes_events(self: Fl_SpinnerPtr) -> int
extern def Fl_Spinner_user_data(self: Fl_SpinnerPtr) -> bytes
extern def Fl_Spinner_take_focus(self: Fl_SpinnerPtr) -> int
extern def Fl_Spinner_set_visible_focus(self: Fl_SpinnerPtr)
extern def Fl_Spinner_clear_visible_focus(self: Fl_SpinnerPtr)
extern def Fl_Spinner_visible_focus(self: Fl_SpinnerPtr, v: int)
extern def Fl_Spinner_has_visible_focus(self: Fl_SpinnerPtr) -> t.CUInt32T
extern def Fl_Spinner_set_user_data(self: Fl_SpinnerPtr, data: bytes)
extern def Fl_Spinner_draw_data(self: Fl_SpinnerPtr) -> bytes
extern def Fl_Spinner_handle_data(self: Fl_SpinnerPtr) -> bytes
extern def Fl_Spinner_set_draw_data(self: Fl_SpinnerPtr, data: bytes)
extern def Fl_Spinner_set_handle_data(self: Fl_SpinnerPtr, data: bytes)
extern def Fl_Spinner_damage(self: Fl_SpinnerPtr) -> t.CUInt8T
extern def Fl_Spinner_set_damage(self: Fl_SpinnerPtr, flag: t.CUInt8T)
extern def Fl_Spinner_set_damage_area(self: Fl_SpinnerPtr, flag: t.CUInt8T, x: int, y: int, w: int, h: int)
extern def Fl_Spinner_clear_damage(self: Fl_SpinnerPtr)
extern def Fl_Spinner_as_window(self: Fl_SpinnerPtr) -> bytes
extern def Fl_Spinner_as_group(self: Fl_SpinnerPtr) -> bytes
extern def Fl_Spinner_set_deimage(self: Fl_SpinnerPtr, a1: bytes)
extern def Fl_Spinner_deimage(self: Fl_SpinnerPtr) -> bytes
extern def Fl_Spinner_set_callback(self: Fl_SpinnerPtr, a1: bytes, a2: bytes)
extern def Fl_Spinner_visible(self: Fl_SpinnerPtr) -> int
extern def Fl_Spinner_visible_r(self: Fl_SpinnerPtr) -> int
extern def Fl_Spinner_active(self: Fl_SpinnerPtr) -> t.CUInt32T
extern def Fl_Spinner_active_r(self: Fl_SpinnerPtr) -> int
extern def Fl_Spinner_callback(self: Fl_SpinnerPtr) -> bytes
extern def Fl_Spinner_set_deletion_callback(self: Fl_SpinnerPtr, cb1: bytes, data: bytes)
extern def Fl_Spinner_from_dyn_ptr(ptr: Fl_WidgetPtr) -> Fl_SpinnerPtr
extern def Fl_Spinner_from_derived_dyn_ptr(ptr: Fl_WidgetPtr) -> Fl_SpinnerPtr
extern def Fl_Spinner_super_draw(ptr: Fl_WidgetPtr, flag: int)
extern def Fl_Spinner_super_draw_first(ptr: Fl_WidgetPtr, flag: int)
extern def Fl_Spinner_super_handle_first(ptr: Fl_WidgetPtr, flag: int)
# ----- Fl_Clock (widget_declare) -----
extern def Fl_Clock_new(x: int, y: int, width: int, height: int, title: str) -> Fl_ClockPtr
extern def Fl_Clock_x(self: Fl_ClockPtr) -> int
extern def Fl_Clock_y(self: Fl_ClockPtr) -> int
extern def Fl_Clock_width(self: Fl_ClockPtr) -> int
extern def Fl_Clock_height(self: Fl_ClockPtr) -> int
extern def Fl_Clock_label(self: Fl_ClockPtr) -> str
extern def Fl_Clock_set_label(self: Fl_ClockPtr, title: str)
extern def Fl_Clock_redraw(self: Fl_ClockPtr)
extern def Fl_Clock_show(self: Fl_ClockPtr)
extern def Fl_Clock_hide(self: Fl_ClockPtr)
extern def Fl_Clock_activate(self: Fl_ClockPtr)
extern def Fl_Clock_deactivate(self: Fl_ClockPtr)
extern def Fl_Clock_redraw_label(self: Fl_ClockPtr)
extern def Fl_Clock_resize(self: Fl_ClockPtr, x: int, y: int, width: int, height: int)
extern def Fl_Clock_widget_resize(self: Fl_ClockPtr, x: int, y: int, width: int, height: int)
extern def Fl_Clock_tooltip(self: Fl_ClockPtr) -> str
extern def Fl_Clock_set_tooltip(self: Fl_ClockPtr, txt: str)
extern def Fl_Clock_get_type(self: Fl_ClockPtr) -> int
extern def Fl_Clock_set_type(self: Fl_ClockPtr, typ: int)
extern def Fl_Clock_color(self: Fl_ClockPtr) -> t.CUInt32T
extern def Fl_Clock_set_color(self: Fl_ClockPtr, color: t.CUInt32T)
extern def Fl_Clock_measure_label(self: Fl_ClockPtr, a1: bytes, a2: bytes)
extern def Fl_Clock_label_color(self: Fl_ClockPtr) -> t.CUInt32T
extern def Fl_Clock_set_label_color(self: Fl_ClockPtr, color: t.CUInt32T)
extern def Fl_Clock_label_font(self: Fl_ClockPtr) -> int
extern def Fl_Clock_set_label_font(self: Fl_ClockPtr, font: int)
extern def Fl_Clock_label_size(self: Fl_ClockPtr) -> int
extern def Fl_Clock_set_label_size(self: Fl_ClockPtr, sz: int)
extern def Fl_Clock_label_type(self: Fl_ClockPtr) -> int
extern def Fl_Clock_set_label_type(self: Fl_ClockPtr, typ: int)
extern def Fl_Clock_box(self: Fl_ClockPtr) -> int
extern def Fl_Clock_set_box(self: Fl_ClockPtr, typ: int)
extern def Fl_Clock_changed(self: Fl_ClockPtr) -> int
extern def Fl_Clock_set_changed(self: Fl_ClockPtr)
extern def Fl_Clock_clear_changed(self: Fl_ClockPtr)
extern def Fl_Clock_align(self: Fl_ClockPtr) -> int
extern def Fl_Clock_set_align(self: Fl_ClockPtr, typ: int)
extern def Fl_Clock_delete(self: Fl_ClockPtr)
extern def Fl_Clock_set_image(self: Fl_ClockPtr, a1: bytes)
extern def Fl_Clock_handle(self: Fl_ClockPtr, cb: bytes, data: bytes)
extern def Fl_Clock_handle_event(self: Fl_ClockPtr, event: int) -> int
extern def Fl_Clock_draw(self: Fl_ClockPtr, cb: bytes, data: bytes)
extern def Fl_Clock_resize_callback(self: Fl_ClockPtr, cb1: bytes, data: bytes)
extern def Fl_Clock_set_when(self: Fl_ClockPtr, a1: int)
extern def Fl_Clock_when(self: Fl_ClockPtr) -> int
extern def Fl_Clock_image(self: Fl_ClockPtr) -> bytes
extern def Fl_Clock_parent(self: Fl_ClockPtr) -> bytes
extern def Fl_Clock_selection_color(self: Fl_ClockPtr) -> t.CUInt32T
extern def Fl_Clock_set_selection_color(self: Fl_ClockPtr, color: t.CUInt32T)
extern def Fl_Clock_do_callback(self: Fl_ClockPtr)
extern def Fl_Clock_inside(self: Fl_ClockPtr, a1: bytes) -> int
extern def Fl_Clock_window(self: Fl_ClockPtr) -> bytes
extern def Fl_Clock_top_window(self: Fl_ClockPtr) -> bytes
extern def Fl_Clock_takes_events(self: Fl_ClockPtr) -> int
extern def Fl_Clock_user_data(self: Fl_ClockPtr) -> bytes
extern def Fl_Clock_take_focus(self: Fl_ClockPtr) -> int
extern def Fl_Clock_set_visible_focus(self: Fl_ClockPtr)
extern def Fl_Clock_clear_visible_focus(self: Fl_ClockPtr)
extern def Fl_Clock_visible_focus(self: Fl_ClockPtr, v: int)
extern def Fl_Clock_has_visible_focus(self: Fl_ClockPtr) -> t.CUInt32T
extern def Fl_Clock_set_user_data(self: Fl_ClockPtr, data: bytes)
extern def Fl_Clock_draw_data(self: Fl_ClockPtr) -> bytes
extern def Fl_Clock_handle_data(self: Fl_ClockPtr) -> bytes
extern def Fl_Clock_set_draw_data(self: Fl_ClockPtr, data: bytes)
extern def Fl_Clock_set_handle_data(self: Fl_ClockPtr, data: bytes)
extern def Fl_Clock_damage(self: Fl_ClockPtr) -> t.CUInt8T
extern def Fl_Clock_set_damage(self: Fl_ClockPtr, flag: t.CUInt8T)
extern def Fl_Clock_set_damage_area(self: Fl_ClockPtr, flag: t.CUInt8T, x: int, y: int, w: int, h: int)
extern def Fl_Clock_clear_damage(self: Fl_ClockPtr)
extern def Fl_Clock_as_window(self: Fl_ClockPtr) -> bytes
extern def Fl_Clock_as_group(self: Fl_ClockPtr) -> bytes
extern def Fl_Clock_set_deimage(self: Fl_ClockPtr, a1: bytes)
extern def Fl_Clock_deimage(self: Fl_ClockPtr) -> bytes
extern def Fl_Clock_set_callback(self: Fl_ClockPtr, a1: bytes, a2: bytes)
extern def Fl_Clock_visible(self: Fl_ClockPtr) -> int
extern def Fl_Clock_visible_r(self: Fl_ClockPtr) -> int
extern def Fl_Clock_active(self: Fl_ClockPtr) -> t.CUInt32T
extern def Fl_Clock_active_r(self: Fl_ClockPtr) -> int
extern def Fl_Clock_callback(self: Fl_ClockPtr) -> bytes
extern def Fl_Clock_set_deletion_callback(self: Fl_ClockPtr, cb1: bytes, data: bytes)
extern def Fl_Clock_from_dyn_ptr(ptr: Fl_WidgetPtr) -> Fl_ClockPtr
extern def Fl_Clock_from_derived_dyn_ptr(ptr: Fl_WidgetPtr) -> Fl_ClockPtr
extern def Fl_Clock_super_draw(ptr: Fl_WidgetPtr, flag: int)
extern def Fl_Clock_super_draw_first(ptr: Fl_WidgetPtr, flag: int)
extern def Fl_Clock_super_handle_first(ptr: Fl_WidgetPtr, flag: int)
# ----- Fl_Chart (widget_declare) -----
extern def Fl_Chart_new(x: int, y: int, width: int, height: int, title: str) -> Fl_ChartPtr
extern def Fl_Chart_x(self: Fl_ChartPtr) -> int
extern def Fl_Chart_y(self: Fl_ChartPtr) -> int
extern def Fl_Chart_width(self: Fl_ChartPtr) -> int
extern def Fl_Chart_height(self: Fl_ChartPtr) -> int
extern def Fl_Chart_label(self: Fl_ChartPtr) -> str
extern def Fl_Chart_set_label(self: Fl_ChartPtr, title: str)
extern def Fl_Chart_redraw(self: Fl_ChartPtr)
extern def Fl_Chart_show(self: Fl_ChartPtr)
extern def Fl_Chart_hide(self: Fl_ChartPtr)
extern def Fl_Chart_activate(self: Fl_ChartPtr)
extern def Fl_Chart_deactivate(self: Fl_ChartPtr)
extern def Fl_Chart_redraw_label(self: Fl_ChartPtr)
extern def Fl_Chart_resize(self: Fl_ChartPtr, x: int, y: int, width: int, height: int)
extern def Fl_Chart_widget_resize(self: Fl_ChartPtr, x: int, y: int, width: int, height: int)
extern def Fl_Chart_tooltip(self: Fl_ChartPtr) -> str
extern def Fl_Chart_set_tooltip(self: Fl_ChartPtr, txt: str)
extern def Fl_Chart_get_type(self: Fl_ChartPtr) -> int
extern def Fl_Chart_set_type(self: Fl_ChartPtr, typ: int)
extern def Fl_Chart_color(self: Fl_ChartPtr) -> t.CUInt32T
extern def Fl_Chart_set_color(self: Fl_ChartPtr, color: t.CUInt32T)
extern def Fl_Chart_measure_label(self: Fl_ChartPtr, a1: bytes, a2: bytes)
extern def Fl_Chart_label_color(self: Fl_ChartPtr) -> t.CUInt32T
extern def Fl_Chart_set_label_color(self: Fl_ChartPtr, color: t.CUInt32T)
extern def Fl_Chart_label_font(self: Fl_ChartPtr) -> int
extern def Fl_Chart_set_label_font(self: Fl_ChartPtr, font: int)
extern def Fl_Chart_label_size(self: Fl_ChartPtr) -> int
extern def Fl_Chart_set_label_size(self: Fl_ChartPtr, sz: int)
extern def Fl_Chart_label_type(self: Fl_ChartPtr) -> int
extern def Fl_Chart_set_label_type(self: Fl_ChartPtr, typ: int)
extern def Fl_Chart_box(self: Fl_ChartPtr) -> int
extern def Fl_Chart_set_box(self: Fl_ChartPtr, typ: int)
extern def Fl_Chart_changed(self: Fl_ChartPtr) -> int
extern def Fl_Chart_set_changed(self: Fl_ChartPtr)
extern def Fl_Chart_clear_changed(self: Fl_ChartPtr)
extern def Fl_Chart_align(self: Fl_ChartPtr) -> int
extern def Fl_Chart_set_align(self: Fl_ChartPtr, typ: int)
extern def Fl_Chart_delete(self: Fl_ChartPtr)
extern def Fl_Chart_set_image(self: Fl_ChartPtr, a1: bytes)
extern def Fl_Chart_handle(self: Fl_ChartPtr, cb: bytes, data: bytes)
extern def Fl_Chart_handle_event(self: Fl_ChartPtr, event: int) -> int
extern def Fl_Chart_draw(self: Fl_ChartPtr, cb: bytes, data: bytes)
extern def Fl_Chart_resize_callback(self: Fl_ChartPtr, cb1: bytes, data: bytes)
extern def Fl_Chart_set_when(self: Fl_ChartPtr, a1: int)
extern def Fl_Chart_when(self: Fl_ChartPtr) -> int
extern def Fl_Chart_image(self: Fl_ChartPtr) -> bytes
extern def Fl_Chart_parent(self: Fl_ChartPtr) -> bytes
extern def Fl_Chart_selection_color(self: Fl_ChartPtr) -> t.CUInt32T
extern def Fl_Chart_set_selection_color(self: Fl_ChartPtr, color: t.CUInt32T)
extern def Fl_Chart_do_callback(self: Fl_ChartPtr)
extern def Fl_Chart_inside(self: Fl_ChartPtr, a1: bytes) -> int
extern def Fl_Chart_window(self: Fl_ChartPtr) -> bytes
extern def Fl_Chart_top_window(self: Fl_ChartPtr) -> bytes
extern def Fl_Chart_takes_events(self: Fl_ChartPtr) -> int
extern def Fl_Chart_user_data(self: Fl_ChartPtr) -> bytes
extern def Fl_Chart_take_focus(self: Fl_ChartPtr) -> int
extern def Fl_Chart_set_visible_focus(self: Fl_ChartPtr)
extern def Fl_Chart_clear_visible_focus(self: Fl_ChartPtr)
extern def Fl_Chart_visible_focus(self: Fl_ChartPtr, v: int)
extern def Fl_Chart_has_visible_focus(self: Fl_ChartPtr) -> t.CUInt32T
extern def Fl_Chart_set_user_data(self: Fl_ChartPtr, data: bytes)
extern def Fl_Chart_draw_data(self: Fl_ChartPtr) -> bytes
extern def Fl_Chart_handle_data(self: Fl_ChartPtr) -> bytes
extern def Fl_Chart_set_draw_data(self: Fl_ChartPtr, data: bytes)
extern def Fl_Chart_set_handle_data(self: Fl_ChartPtr, data: bytes)
extern def Fl_Chart_damage(self: Fl_ChartPtr) -> t.CUInt8T
extern def Fl_Chart_set_damage(self: Fl_ChartPtr, flag: t.CUInt8T)
extern def Fl_Chart_set_damage_area(self: Fl_ChartPtr, flag: t.CUInt8T, x: int, y: int, w: int, h: int)
extern def Fl_Chart_clear_damage(self: Fl_ChartPtr)
extern def Fl_Chart_as_window(self: Fl_ChartPtr) -> bytes
extern def Fl_Chart_as_group(self: Fl_ChartPtr) -> bytes
extern def Fl_Chart_set_deimage(self: Fl_ChartPtr, a1: bytes)
extern def Fl_Chart_deimage(self: Fl_ChartPtr) -> bytes
extern def Fl_Chart_set_callback(self: Fl_ChartPtr, a1: bytes, a2: bytes)
extern def Fl_Chart_visible(self: Fl_ChartPtr) -> int
extern def Fl_Chart_visible_r(self: Fl_ChartPtr) -> int
extern def Fl_Chart_active(self: Fl_ChartPtr) -> t.CUInt32T
extern def Fl_Chart_active_r(self: Fl_ChartPtr) -> int
extern def Fl_Chart_callback(self: Fl_ChartPtr) -> bytes
extern def Fl_Chart_set_deletion_callback(self: Fl_ChartPtr, cb1: bytes, data: bytes)
extern def Fl_Chart_from_dyn_ptr(ptr: Fl_WidgetPtr) -> Fl_ChartPtr
extern def Fl_Chart_from_derived_dyn_ptr(ptr: Fl_WidgetPtr) -> Fl_ChartPtr
extern def Fl_Chart_super_draw(ptr: Fl_WidgetPtr, flag: int)
extern def Fl_Chart_super_draw_first(ptr: Fl_WidgetPtr, flag: int)
extern def Fl_Chart_super_handle_first(ptr: Fl_WidgetPtr, flag: int)
# ----- Fl_Progress (widget_declare) -----
extern def Fl_Progress_new(x: int, y: int, width: int, height: int, title: str) -> Fl_ProgressPtr
extern def Fl_Progress_x(self: Fl_ProgressPtr) -> int
extern def Fl_Progress_y(self: Fl_ProgressPtr) -> int
extern def Fl_Progress_width(self: Fl_ProgressPtr) -> int
extern def Fl_Progress_height(self: Fl_ProgressPtr) -> int
extern def Fl_Progress_label(self: Fl_ProgressPtr) -> str
extern def Fl_Progress_set_label(self: Fl_ProgressPtr, title: str)
extern def Fl_Progress_redraw(self: Fl_ProgressPtr)
extern def Fl_Progress_show(self: Fl_ProgressPtr)
extern def Fl_Progress_hide(self: Fl_ProgressPtr)
extern def Fl_Progress_activate(self: Fl_ProgressPtr)
extern def Fl_Progress_deactivate(self: Fl_ProgressPtr)
extern def Fl_Progress_redraw_label(self: Fl_ProgressPtr)
extern def Fl_Progress_resize(self: Fl_ProgressPtr, x: int, y: int, width: int, height: int)
extern def Fl_Progress_widget_resize(self: Fl_ProgressPtr, x: int, y: int, width: int, height: int)
extern def Fl_Progress_tooltip(self: Fl_ProgressPtr) -> str
extern def Fl_Progress_set_tooltip(self: Fl_ProgressPtr, txt: str)
extern def Fl_Progress_get_type(self: Fl_ProgressPtr) -> int
extern def Fl_Progress_set_type(self: Fl_ProgressPtr, typ: int)
extern def Fl_Progress_color(self: Fl_ProgressPtr) -> t.CUInt32T
extern def Fl_Progress_set_color(self: Fl_ProgressPtr, color: t.CUInt32T)
extern def Fl_Progress_measure_label(self: Fl_ProgressPtr, a1: bytes, a2: bytes)
extern def Fl_Progress_label_color(self: Fl_ProgressPtr) -> t.CUInt32T
extern def Fl_Progress_set_label_color(self: Fl_ProgressPtr, color: t.CUInt32T)
extern def Fl_Progress_label_font(self: Fl_ProgressPtr) -> int
extern def Fl_Progress_set_label_font(self: Fl_ProgressPtr, font: int)
extern def Fl_Progress_label_size(self: Fl_ProgressPtr) -> int
extern def Fl_Progress_set_label_size(self: Fl_ProgressPtr, sz: int)
extern def Fl_Progress_label_type(self: Fl_ProgressPtr) -> int
extern def Fl_Progress_set_label_type(self: Fl_ProgressPtr, typ: int)
extern def Fl_Progress_box(self: Fl_ProgressPtr) -> int
extern def Fl_Progress_set_box(self: Fl_ProgressPtr, typ: int)
extern def Fl_Progress_changed(self: Fl_ProgressPtr) -> int
extern def Fl_Progress_set_changed(self: Fl_ProgressPtr)
extern def Fl_Progress_clear_changed(self: Fl_ProgressPtr)
extern def Fl_Progress_align(self: Fl_ProgressPtr) -> int
extern def Fl_Progress_set_align(self: Fl_ProgressPtr, typ: int)
extern def Fl_Progress_delete(self: Fl_ProgressPtr)
extern def Fl_Progress_set_image(self: Fl_ProgressPtr, a1: bytes)
extern def Fl_Progress_handle(self: Fl_ProgressPtr, cb: bytes, data: bytes)
extern def Fl_Progress_handle_event(self: Fl_ProgressPtr, event: int) -> int
extern def Fl_Progress_draw(self: Fl_ProgressPtr, cb: bytes, data: bytes)
extern def Fl_Progress_resize_callback(self: Fl_ProgressPtr, cb1: bytes, data: bytes)
extern def Fl_Progress_set_when(self: Fl_ProgressPtr, a1: int)
extern def Fl_Progress_when(self: Fl_ProgressPtr) -> int
extern def Fl_Progress_image(self: Fl_ProgressPtr) -> bytes
extern def Fl_Progress_parent(self: Fl_ProgressPtr) -> bytes
extern def Fl_Progress_selection_color(self: Fl_ProgressPtr) -> t.CUInt32T
extern def Fl_Progress_set_selection_color(self: Fl_ProgressPtr, color: t.CUInt32T)
extern def Fl_Progress_do_callback(self: Fl_ProgressPtr)
extern def Fl_Progress_inside(self: Fl_ProgressPtr, a1: bytes) -> int
extern def Fl_Progress_window(self: Fl_ProgressPtr) -> bytes
extern def Fl_Progress_top_window(self: Fl_ProgressPtr) -> bytes
extern def Fl_Progress_takes_events(self: Fl_ProgressPtr) -> int
extern def Fl_Progress_user_data(self: Fl_ProgressPtr) -> bytes
extern def Fl_Progress_take_focus(self: Fl_ProgressPtr) -> int
extern def Fl_Progress_set_visible_focus(self: Fl_ProgressPtr)
extern def Fl_Progress_clear_visible_focus(self: Fl_ProgressPtr)
extern def Fl_Progress_visible_focus(self: Fl_ProgressPtr, v: int)
extern def Fl_Progress_has_visible_focus(self: Fl_ProgressPtr) -> t.CUInt32T
extern def Fl_Progress_set_user_data(self: Fl_ProgressPtr, data: bytes)
extern def Fl_Progress_draw_data(self: Fl_ProgressPtr) -> bytes
extern def Fl_Progress_handle_data(self: Fl_ProgressPtr) -> bytes
extern def Fl_Progress_set_draw_data(self: Fl_ProgressPtr, data: bytes)
extern def Fl_Progress_set_handle_data(self: Fl_ProgressPtr, data: bytes)
extern def Fl_Progress_damage(self: Fl_ProgressPtr) -> t.CUInt8T
extern def Fl_Progress_set_damage(self: Fl_ProgressPtr, flag: t.CUInt8T)
extern def Fl_Progress_set_damage_area(self: Fl_ProgressPtr, flag: t.CUInt8T, x: int, y: int, w: int, h: int)
extern def Fl_Progress_clear_damage(self: Fl_ProgressPtr)
extern def Fl_Progress_as_window(self: Fl_ProgressPtr) -> bytes
extern def Fl_Progress_as_group(self: Fl_ProgressPtr) -> bytes
extern def Fl_Progress_set_deimage(self: Fl_ProgressPtr, a1: bytes)
extern def Fl_Progress_deimage(self: Fl_ProgressPtr) -> bytes
extern def Fl_Progress_set_callback(self: Fl_ProgressPtr, a1: bytes, a2: bytes)
extern def Fl_Progress_visible(self: Fl_ProgressPtr) -> int
extern def Fl_Progress_visible_r(self: Fl_ProgressPtr) -> int
extern def Fl_Progress_active(self: Fl_ProgressPtr) -> t.CUInt32T
extern def Fl_Progress_active_r(self: Fl_ProgressPtr) -> int
extern def Fl_Progress_callback(self: Fl_ProgressPtr) -> bytes
extern def Fl_Progress_set_deletion_callback(self: Fl_ProgressPtr, cb1: bytes, data: bytes)
extern def Fl_Progress_from_dyn_ptr(ptr: Fl_WidgetPtr) -> Fl_ProgressPtr
extern def Fl_Progress_from_derived_dyn_ptr(ptr: Fl_WidgetPtr) -> Fl_ProgressPtr
extern def Fl_Progress_super_draw(ptr: Fl_WidgetPtr, flag: int)
extern def Fl_Progress_super_draw_first(ptr: Fl_WidgetPtr, flag: int)
extern def Fl_Progress_super_handle_first(ptr: Fl_WidgetPtr, flag: int)
# ----- Fl_Help_View (widget_declare) -----
extern def Fl_Help_View_new(x: int, y: int, width: int, height: int, title: str) -> Fl_Help_ViewPtr
extern def Fl_Help_View_x(self: Fl_Help_ViewPtr) -> int
extern def Fl_Help_View_y(self: Fl_Help_ViewPtr) -> int
extern def Fl_Help_View_width(self: Fl_Help_ViewPtr) -> int
extern def Fl_Help_View_height(self: Fl_Help_ViewPtr) -> int
extern def Fl_Help_View_label(self: Fl_Help_ViewPtr) -> str
extern def Fl_Help_View_set_label(self: Fl_Help_ViewPtr, title: str)
extern def Fl_Help_View_redraw(self: Fl_Help_ViewPtr)
extern def Fl_Help_View_show(self: Fl_Help_ViewPtr)
extern def Fl_Help_View_hide(self: Fl_Help_ViewPtr)
extern def Fl_Help_View_activate(self: Fl_Help_ViewPtr)
extern def Fl_Help_View_deactivate(self: Fl_Help_ViewPtr)
extern def Fl_Help_View_redraw_label(self: Fl_Help_ViewPtr)
extern def Fl_Help_View_resize(self: Fl_Help_ViewPtr, x: int, y: int, width: int, height: int)
extern def Fl_Help_View_widget_resize(self: Fl_Help_ViewPtr, x: int, y: int, width: int, height: int)
extern def Fl_Help_View_tooltip(self: Fl_Help_ViewPtr) -> str
extern def Fl_Help_View_set_tooltip(self: Fl_Help_ViewPtr, txt: str)
extern def Fl_Help_View_get_type(self: Fl_Help_ViewPtr) -> int
extern def Fl_Help_View_set_type(self: Fl_Help_ViewPtr, typ: int)
extern def Fl_Help_View_color(self: Fl_Help_ViewPtr) -> t.CUInt32T
extern def Fl_Help_View_set_color(self: Fl_Help_ViewPtr, color: t.CUInt32T)
extern def Fl_Help_View_measure_label(self: Fl_Help_ViewPtr, a1: bytes, a2: bytes)
extern def Fl_Help_View_label_color(self: Fl_Help_ViewPtr) -> t.CUInt32T
extern def Fl_Help_View_set_label_color(self: Fl_Help_ViewPtr, color: t.CUInt32T)
extern def Fl_Help_View_label_font(self: Fl_Help_ViewPtr) -> int
extern def Fl_Help_View_set_label_font(self: Fl_Help_ViewPtr, font: int)
extern def Fl_Help_View_label_size(self: Fl_Help_ViewPtr) -> int
extern def Fl_Help_View_set_label_size(self: Fl_Help_ViewPtr, sz: int)
extern def Fl_Help_View_label_type(self: Fl_Help_ViewPtr) -> int
extern def Fl_Help_View_set_label_type(self: Fl_Help_ViewPtr, typ: int)
extern def Fl_Help_View_box(self: Fl_Help_ViewPtr) -> int
extern def Fl_Help_View_set_box(self: Fl_Help_ViewPtr, typ: int)
extern def Fl_Help_View_changed(self: Fl_Help_ViewPtr) -> int
extern def Fl_Help_View_set_changed(self: Fl_Help_ViewPtr)
extern def Fl_Help_View_clear_changed(self: Fl_Help_ViewPtr)
extern def Fl_Help_View_align(self: Fl_Help_ViewPtr) -> int
extern def Fl_Help_View_set_align(self: Fl_Help_ViewPtr, typ: int)
extern def Fl_Help_View_delete(self: Fl_Help_ViewPtr)
extern def Fl_Help_View_set_image(self: Fl_Help_ViewPtr, a1: bytes)
extern def Fl_Help_View_handle(self: Fl_Help_ViewPtr, cb: bytes, data: bytes)
extern def Fl_Help_View_handle_event(self: Fl_Help_ViewPtr, event: int) -> int
extern def Fl_Help_View_draw(self: Fl_Help_ViewPtr, cb: bytes, data: bytes)
extern def Fl_Help_View_resize_callback(self: Fl_Help_ViewPtr, cb1: bytes, data: bytes)
extern def Fl_Help_View_set_when(self: Fl_Help_ViewPtr, a1: int)
extern def Fl_Help_View_when(self: Fl_Help_ViewPtr) -> int
extern def Fl_Help_View_image(self: Fl_Help_ViewPtr) -> bytes
extern def Fl_Help_View_parent(self: Fl_Help_ViewPtr) -> bytes
extern def Fl_Help_View_selection_color(self: Fl_Help_ViewPtr) -> t.CUInt32T
extern def Fl_Help_View_set_selection_color(self: Fl_Help_ViewPtr, color: t.CUInt32T)
extern def Fl_Help_View_do_callback(self: Fl_Help_ViewPtr)
extern def Fl_Help_View_inside(self: Fl_Help_ViewPtr, a1: bytes) -> int
extern def Fl_Help_View_window(self: Fl_Help_ViewPtr) -> bytes
extern def Fl_Help_View_top_window(self: Fl_Help_ViewPtr) -> bytes
extern def Fl_Help_View_takes_events(self: Fl_Help_ViewPtr) -> int
extern def Fl_Help_View_user_data(self: Fl_Help_ViewPtr) -> bytes
extern def Fl_Help_View_take_focus(self: Fl_Help_ViewPtr) -> int
extern def Fl_Help_View_set_visible_focus(self: Fl_Help_ViewPtr)
extern def Fl_Help_View_clear_visible_focus(self: Fl_Help_ViewPtr)
extern def Fl_Help_View_visible_focus(self: Fl_Help_ViewPtr, v: int)
extern def Fl_Help_View_has_visible_focus(self: Fl_Help_ViewPtr) -> t.CUInt32T
extern def Fl_Help_View_set_user_data(self: Fl_Help_ViewPtr, data: bytes)
extern def Fl_Help_View_draw_data(self: Fl_Help_ViewPtr) -> bytes
extern def Fl_Help_View_handle_data(self: Fl_Help_ViewPtr) -> bytes
extern def Fl_Help_View_set_draw_data(self: Fl_Help_ViewPtr, data: bytes)
extern def Fl_Help_View_set_handle_data(self: Fl_Help_ViewPtr, data: bytes)
extern def Fl_Help_View_damage(self: Fl_Help_ViewPtr) -> t.CUInt8T
extern def Fl_Help_View_set_damage(self: Fl_Help_ViewPtr, flag: t.CUInt8T)
extern def Fl_Help_View_set_damage_area(self: Fl_Help_ViewPtr, flag: t.CUInt8T, x: int, y: int, w: int, h: int)
extern def Fl_Help_View_clear_damage(self: Fl_Help_ViewPtr)
extern def Fl_Help_View_as_window(self: Fl_Help_ViewPtr) -> bytes
extern def Fl_Help_View_as_group(self: Fl_Help_ViewPtr) -> bytes
extern def Fl_Help_View_set_deimage(self: Fl_Help_ViewPtr, a1: bytes)
extern def Fl_Help_View_deimage(self: Fl_Help_ViewPtr) -> bytes
extern def Fl_Help_View_set_callback(self: Fl_Help_ViewPtr, a1: bytes, a2: bytes)
extern def Fl_Help_View_visible(self: Fl_Help_ViewPtr) -> int
extern def Fl_Help_View_visible_r(self: Fl_Help_ViewPtr) -> int
extern def Fl_Help_View_active(self: Fl_Help_ViewPtr) -> t.CUInt32T
extern def Fl_Help_View_active_r(self: Fl_Help_ViewPtr) -> int
extern def Fl_Help_View_callback(self: Fl_Help_ViewPtr) -> bytes
extern def Fl_Help_View_set_deletion_callback(self: Fl_Help_ViewPtr, cb1: bytes, data: bytes)
extern def Fl_Help_View_from_dyn_ptr(ptr: Fl_WidgetPtr) -> Fl_Help_ViewPtr
extern def Fl_Help_View_from_derived_dyn_ptr(ptr: Fl_WidgetPtr) -> Fl_Help_ViewPtr
extern def Fl_Help_View_super_draw(ptr: Fl_WidgetPtr, flag: int)
extern def Fl_Help_View_super_draw_first(ptr: Fl_WidgetPtr, flag: int)
extern def Fl_Help_View_super_handle_first(ptr: Fl_WidgetPtr, flag: int)
# ----- Fl_Input_Choice (widget_declare) -----
extern def Fl_Input_Choice_new(x: int, y: int, width: int, height: int, title: str) -> Fl_Input_ChoicePtr
extern def Fl_Input_Choice_x(self: Fl_Input_ChoicePtr) -> int
extern def Fl_Input_Choice_y(self: Fl_Input_ChoicePtr) -> int
extern def Fl_Input_Choice_width(self: Fl_Input_ChoicePtr) -> int
extern def Fl_Input_Choice_height(self: Fl_Input_ChoicePtr) -> int
extern def Fl_Input_Choice_label(self: Fl_Input_ChoicePtr) -> str
extern def Fl_Input_Choice_set_label(self: Fl_Input_ChoicePtr, title: str)
extern def Fl_Input_Choice_redraw(self: Fl_Input_ChoicePtr)
extern def Fl_Input_Choice_show(self: Fl_Input_ChoicePtr)
extern def Fl_Input_Choice_hide(self: Fl_Input_ChoicePtr)
extern def Fl_Input_Choice_activate(self: Fl_Input_ChoicePtr)
extern def Fl_Input_Choice_deactivate(self: Fl_Input_ChoicePtr)
extern def Fl_Input_Choice_redraw_label(self: Fl_Input_ChoicePtr)
extern def Fl_Input_Choice_resize(self: Fl_Input_ChoicePtr, x: int, y: int, width: int, height: int)
extern def Fl_Input_Choice_widget_resize(self: Fl_Input_ChoicePtr, x: int, y: int, width: int, height: int)
extern def Fl_Input_Choice_tooltip(self: Fl_Input_ChoicePtr) -> str
extern def Fl_Input_Choice_set_tooltip(self: Fl_Input_ChoicePtr, txt: str)
extern def Fl_Input_Choice_get_type(self: Fl_Input_ChoicePtr) -> int
extern def Fl_Input_Choice_set_type(self: Fl_Input_ChoicePtr, typ: int)
extern def Fl_Input_Choice_color(self: Fl_Input_ChoicePtr) -> t.CUInt32T
extern def Fl_Input_Choice_set_color(self: Fl_Input_ChoicePtr, color: t.CUInt32T)
extern def Fl_Input_Choice_measure_label(self: Fl_Input_ChoicePtr, a1: bytes, a2: bytes)
extern def Fl_Input_Choice_label_color(self: Fl_Input_ChoicePtr) -> t.CUInt32T
extern def Fl_Input_Choice_set_label_color(self: Fl_Input_ChoicePtr, color: t.CUInt32T)
extern def Fl_Input_Choice_label_font(self: Fl_Input_ChoicePtr) -> int
extern def Fl_Input_Choice_set_label_font(self: Fl_Input_ChoicePtr, font: int)
extern def Fl_Input_Choice_label_size(self: Fl_Input_ChoicePtr) -> int
extern def Fl_Input_Choice_set_label_size(self: Fl_Input_ChoicePtr, sz: int)
extern def Fl_Input_Choice_label_type(self: Fl_Input_ChoicePtr) -> int
extern def Fl_Input_Choice_set_label_type(self: Fl_Input_ChoicePtr, typ: int)
extern def Fl_Input_Choice_box(self: Fl_Input_ChoicePtr) -> int
extern def Fl_Input_Choice_set_box(self: Fl_Input_ChoicePtr, typ: int)
extern def Fl_Input_Choice_changed(self: Fl_Input_ChoicePtr) -> int
extern def Fl_Input_Choice_set_changed(self: Fl_Input_ChoicePtr)
extern def Fl_Input_Choice_clear_changed(self: Fl_Input_ChoicePtr)
extern def Fl_Input_Choice_align(self: Fl_Input_ChoicePtr) -> int
extern def Fl_Input_Choice_set_align(self: Fl_Input_ChoicePtr, typ: int)
extern def Fl_Input_Choice_delete(self: Fl_Input_ChoicePtr)
extern def Fl_Input_Choice_set_image(self: Fl_Input_ChoicePtr, a1: bytes)
extern def Fl_Input_Choice_handle(self: Fl_Input_ChoicePtr, cb: bytes, data: bytes)
extern def Fl_Input_Choice_handle_event(self: Fl_Input_ChoicePtr, event: int) -> int
extern def Fl_Input_Choice_draw(self: Fl_Input_ChoicePtr, cb: bytes, data: bytes)
extern def Fl_Input_Choice_resize_callback(self: Fl_Input_ChoicePtr, cb1: bytes, data: bytes)
extern def Fl_Input_Choice_set_when(self: Fl_Input_ChoicePtr, a1: int)
extern def Fl_Input_Choice_when(self: Fl_Input_ChoicePtr) -> int
extern def Fl_Input_Choice_image(self: Fl_Input_ChoicePtr) -> bytes
extern def Fl_Input_Choice_parent(self: Fl_Input_ChoicePtr) -> bytes
extern def Fl_Input_Choice_selection_color(self: Fl_Input_ChoicePtr) -> t.CUInt32T
extern def Fl_Input_Choice_set_selection_color(self: Fl_Input_ChoicePtr, color: t.CUInt32T)
extern def Fl_Input_Choice_do_callback(self: Fl_Input_ChoicePtr)
extern def Fl_Input_Choice_inside(self: Fl_Input_ChoicePtr, a1: bytes) -> int
extern def Fl_Input_Choice_window(self: Fl_Input_ChoicePtr) -> bytes
extern def Fl_Input_Choice_top_window(self: Fl_Input_ChoicePtr) -> bytes
extern def Fl_Input_Choice_takes_events(self: Fl_Input_ChoicePtr) -> int
extern def Fl_Input_Choice_user_data(self: Fl_Input_ChoicePtr) -> bytes
extern def Fl_Input_Choice_take_focus(self: Fl_Input_ChoicePtr) -> int
extern def Fl_Input_Choice_set_visible_focus(self: Fl_Input_ChoicePtr)
extern def Fl_Input_Choice_clear_visible_focus(self: Fl_Input_ChoicePtr)
extern def Fl_Input_Choice_visible_focus(self: Fl_Input_ChoicePtr, v: int)
extern def Fl_Input_Choice_has_visible_focus(self: Fl_Input_ChoicePtr) -> t.CUInt32T
extern def Fl_Input_Choice_set_user_data(self: Fl_Input_ChoicePtr, data: bytes)
extern def Fl_Input_Choice_draw_data(self: Fl_Input_ChoicePtr) -> bytes
extern def Fl_Input_Choice_handle_data(self: Fl_Input_ChoicePtr) -> bytes
extern def Fl_Input_Choice_set_draw_data(self: Fl_Input_ChoicePtr, data: bytes)
extern def Fl_Input_Choice_set_handle_data(self: Fl_Input_ChoicePtr, data: bytes)
extern def Fl_Input_Choice_damage(self: Fl_Input_ChoicePtr) -> t.CUInt8T
extern def Fl_Input_Choice_set_damage(self: Fl_Input_ChoicePtr, flag: t.CUInt8T)
extern def Fl_Input_Choice_set_damage_area(self: Fl_Input_ChoicePtr, flag: t.CUInt8T, x: int, y: int, w: int, h: int)
extern def Fl_Input_Choice_clear_damage(self: Fl_Input_ChoicePtr)
extern def Fl_Input_Choice_as_window(self: Fl_Input_ChoicePtr) -> bytes
extern def Fl_Input_Choice_as_group(self: Fl_Input_ChoicePtr) -> bytes
extern def Fl_Input_Choice_set_deimage(self: Fl_Input_ChoicePtr, a1: bytes)
extern def Fl_Input_Choice_deimage(self: Fl_Input_ChoicePtr) -> bytes
extern def Fl_Input_Choice_set_callback(self: Fl_Input_ChoicePtr, a1: bytes, a2: bytes)
extern def Fl_Input_Choice_visible(self: Fl_Input_ChoicePtr) -> int
extern def Fl_Input_Choice_visible_r(self: Fl_Input_ChoicePtr) -> int
extern def Fl_Input_Choice_active(self: Fl_Input_ChoicePtr) -> t.CUInt32T
extern def Fl_Input_Choice_active_r(self: Fl_Input_ChoicePtr) -> int
extern def Fl_Input_Choice_callback(self: Fl_Input_ChoicePtr) -> bytes
extern def Fl_Input_Choice_set_deletion_callback(self: Fl_Input_ChoicePtr, cb1: bytes, data: bytes)
extern def Fl_Input_Choice_from_dyn_ptr(ptr: Fl_WidgetPtr) -> Fl_Input_ChoicePtr
extern def Fl_Input_Choice_from_derived_dyn_ptr(ptr: Fl_WidgetPtr) -> Fl_Input_ChoicePtr
extern def Fl_Input_Choice_super_draw(ptr: Fl_WidgetPtr, flag: int)
extern def Fl_Input_Choice_super_draw_first(ptr: Fl_WidgetPtr, flag: int)
extern def Fl_Input_Choice_super_handle_first(ptr: Fl_WidgetPtr, flag: int)
extern def Fl_Spinner_minimum(a0: Fl_SpinnerPtr) -> t.CDouble
extern def Fl_Spinner_set_minimum(a0: Fl_SpinnerPtr, a: t.CDouble)
extern def Fl_Spinner_maximum(a0: Fl_SpinnerPtr) -> t.CDouble
extern def Fl_Spinner_set_maximum(a0: Fl_SpinnerPtr, a: t.CDouble)
extern def Fl_Spinner_set_range(a0: Fl_SpinnerPtr, a: t.CDouble, b: t.CDouble)
extern def Fl_Spinner_set_step(a0: Fl_SpinnerPtr, a: t.CDouble)
extern def Fl_Spinner_step(a0: Fl_SpinnerPtr) -> t.CDouble
extern def Fl_Spinner_maxsize(self: Fl_SpinnerPtr) -> int
extern def Fl_Spinner_set_maxsize(self: Fl_SpinnerPtr, m: int)
extern def Fl_Spinner_text_font(self: Fl_SpinnerPtr) -> int
extern def Fl_Spinner_set_text_font(self: Fl_SpinnerPtr, s: int)
extern def Fl_Spinner_text_size(self: Fl_SpinnerPtr) -> int
extern def Fl_Spinner_set_text_size(self: Fl_SpinnerPtr, s: int)
extern def Fl_Spinner_text_color(self: Fl_SpinnerPtr) -> t.CUInt32T
extern def Fl_Spinner_set_text_color(self: Fl_SpinnerPtr, n: t.CUInt32T)
extern def Fl_Spinner_value(a0: Fl_SpinnerPtr) -> t.CDouble
extern def Fl_Spinner_set_value(a0: Fl_SpinnerPtr, a1: t.CDouble)
extern def Fl_Spinner_set_wrap(self: Fl_SpinnerPtr, flag: int)
extern def Fl_Spinner_wrap(self: Fl_SpinnerPtr) -> int
extern def Fl_Chart_clear(self: Fl_ChartPtr)
extern def Fl_Chart_add(self: Fl_ChartPtr, val: t.CDouble, str_: str, col: bytes)
extern def Fl_Chart_insert(self: Fl_ChartPtr, ind: int, val: t.CDouble, str_: str, col: bytes)
extern def Fl_Chart_replace(self: Fl_ChartPtr, ind: int, val: t.CDouble, str_: str, col: bytes)
extern def Fl_Chart_set_bounds(self: Fl_ChartPtr, a: t.CDouble, b: t.CDouble)
extern def Fl_Chart_size(self: Fl_ChartPtr) -> int
extern def Fl_Chart_maxsize(self: Fl_ChartPtr) -> int
extern def Fl_Chart_set_maxsize(self: Fl_ChartPtr, m: int)
extern def Fl_Chart_text_font(self: Fl_ChartPtr) -> int
extern def Fl_Chart_set_text_font(self: Fl_ChartPtr, s: int)
extern def Fl_Chart_text_size(self: Fl_ChartPtr) -> int
extern def Fl_Chart_set_text_size(self: Fl_ChartPtr, s: int)
extern def Fl_Chart_text_color(self: Fl_ChartPtr) -> t.CUInt32T
extern def Fl_Chart_set_text_color(self: Fl_ChartPtr, n: t.CUInt32T)
extern def Fl_Chart_is_autosize(self: Fl_ChartPtr) -> int
extern def Fl_Chart_make_autosize(self: Fl_ChartPtr, n: int)
extern def Fl_Chart_bounds(self: Fl_ChartPtr, a: bytes, b: bytes)
extern def Fl_Progress_minimum(a0: Fl_ProgressPtr) -> t.CDouble
extern def Fl_Progress_set_minimum(a0: Fl_ProgressPtr, a: t.CDouble)
extern def Fl_Progress_maximum(a0: Fl_ProgressPtr) -> t.CDouble
extern def Fl_Progress_set_maximum(a0: Fl_ProgressPtr, a: t.CDouble)
extern def Fl_Progress_value(a0: Fl_ProgressPtr) -> t.CDouble
extern def Fl_Progress_set_value(a0: Fl_ProgressPtr, a1: t.CDouble)
extern def Fl_Tooltip_delay() -> t.CFloat
extern def Fl_Tooltip_set_delay(f: t.CFloat)
extern def Fl_Tooltip_hidedelay() -> t.CFloat
extern def Fl_Tooltip_set_hidedelay(f: t.CFloat)
extern def Fl_Tooltip_hoverdelay() -> t.CFloat
extern def Fl_Tooltip_set_hoverdelay(f: t.CFloat)
extern def Fl_Tooltip_enabled() -> int
extern def Fl_Tooltip_enable(b: int)
extern def Fl_Tooltip_disable()
extern def void(cb0: bytes) -> bytes
extern def Fl_Tooltip_enter_area(w: Fl_WidgetPtr, X: int, Y: int, W: int, H: int, tip: str)
extern def void(cb0: bytes) -> bytes
extern def Fl_Tooltip_current_widget() -> bytes
extern def Fl_Tooltip_current(a0: Fl_WidgetPtr)
extern def Fl_Tooltip_font() -> int
extern def Fl_Tooltip_set_font(i: int)
extern def Fl_Tooltip_font_size() -> int
extern def Fl_Tooltip_set_font_size(s: int)
extern def Fl_Tooltip_color() -> int
extern def Fl_Tooltip_set_color(c: t.CUInt32T)
extern def Fl_Tooltip_text_color() -> int
extern def Fl_Tooltip_set_text_color(c: t.CUInt32T)
extern def Fl_Tooltip_margin_width() -> int
extern def Fl_Tooltip_set_margin_width(v: int)
extern def Fl_Tooltip_margin_height() -> int
extern def Fl_Tooltip_set_margin_height(v: int)
extern def Fl_Tooltip_wrap_width() -> int
extern def Fl_Tooltip_set_wrap_width(v: int)
extern def Fl_Tooltip_current_window() -> bytes
extern def Fl_Help_View_directory(self: Fl_Help_ViewPtr) -> str
extern def Fl_Help_View_filename(self: Fl_Help_ViewPtr) -> str
extern def Fl_Help_View_find(self: Fl_Help_ViewPtr, s: str, p: int) -> int
extern def Fl_Help_View_value(self: Fl_Help_ViewPtr) -> str
extern def Fl_Help_View_set_value(self: Fl_Help_ViewPtr, val: str)
extern def Fl_Help_View_clear_selection(self: Fl_Help_ViewPtr)
extern def Fl_Help_View_select_all(self: Fl_Help_ViewPtr)
extern def Fl_Help_View_set_topline_str(self: Fl_Help_ViewPtr, n: str)
extern def Fl_Help_View_set_topline(self: Fl_Help_ViewPtr, a1: int)
extern def Fl_Help_View_topline(self: Fl_Help_ViewPtr) -> int
extern def Fl_Help_View_set_leftline(self: Fl_Help_ViewPtr, a1: int)
extern def Fl_Help_View_leftline(self: Fl_Help_ViewPtr) -> int
extern def Fl_Help_View_set_text_color(self: Fl_Help_ViewPtr, c: t.CUInt32T)
extern def Fl_Help_View_text_color(self: Fl_Help_ViewPtr) -> t.CUInt32T
extern def Fl_Help_View_set_text_font(self: Fl_Help_ViewPtr, f: int)
extern def Fl_Help_View_text_font(self: Fl_Help_ViewPtr) -> int
extern def Fl_Help_View_set_text_size(self: Fl_Help_ViewPtr, s: int)
extern def Fl_Help_View_text_size(self: Fl_Help_ViewPtr) -> int
extern def Fl_Help_View_scrollbar_size(self: Fl_Help_ViewPtr) -> int
extern def Fl_Help_View_set_scrollbar_size(self: Fl_Help_ViewPtr, newSize: int)
extern def Fl_Help_View_load(self: Fl_Help_ViewPtr, f: str) -> int
extern def Fl_Input_Choice_set_down_box(self: Fl_Input_ChoicePtr, box: int)
extern def Fl_Input_Choice_down_box(self: Fl_Input_ChoicePtr) -> int
extern def Fl_Input_Choice_add(self: Fl_Input_ChoicePtr, s: str)
extern def Fl_Input_Choice_clear(self: Fl_Input_ChoicePtr)
extern def Fl_Input_Choice_value(self: Fl_Input_ChoicePtr) -> str
extern def Fl_Input_Choice_value_index(self: Fl_Input_ChoicePtr) -> int
extern def Fl_Input_Choice_set_value(self: Fl_Input_ChoicePtr, val: str)
extern def Fl_Input_Choice_set_value_index(self: Fl_Input_ChoicePtr, val: int)
extern def Fl_Input_Choice_input(self: Fl_Input_ChoicePtr) -> bytes
extern def Fl_Input_Choice_menu_button(self: Fl_Input_ChoicePtr) -> bytes
extern def Fl_Input_Choice_set_text_color(self: Fl_Input_ChoicePtr, c: t.CUInt32T)
extern def Fl_Input_Choice_text_color(self: Fl_Input_ChoicePtr) -> t.CUInt32T
extern def Fl_Input_Choice_set_text_font(self: Fl_Input_ChoicePtr, f: int)
extern def Fl_Input_Choice_text_font(self: Fl_Input_ChoicePtr) -> int
extern def Fl_Input_Choice_set_text_size(self: Fl_Input_ChoicePtr, s: int)
extern def Fl_Input_Choice_text_size(self: Fl_Input_ChoicePtr) -> int
-51
View File
@@ -1,51 +0,0 @@
import t, c
from fltk._types import *
# ============================================================
# fltk/_cfl_prefs.vp — cfl_prefs.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_Preferences_set_file_access(flags: t.CUInt32T)
extern def Fl_Preferences_file_access() -> t.CUInt32T
extern def Fl_Preferences_remove(id_: bytes) -> char
extern def Fl_Preferences_new(root: int, vendor: str, application: str) -> Fl_PreferencesPtr
extern def Fl_Preferences_from_path(path: str, vendor: str, application: str) -> Fl_PreferencesPtr
extern def Fl_Preferences_from_parent_group(parent: Fl_PreferencesPtr, group: str) -> Fl_PreferencesPtr
extern def Fl_Preferences_from_parent_idx(parent: Fl_PreferencesPtr, groupIndex: int) -> Fl_PreferencesPtr
extern def Fl_Preferences_copy(a0: Fl_PreferencesPtr) -> Fl_PreferencesPtr
extern def Fl_Preferences_delete(a0: Fl_PreferencesPtr)
extern def Fl_Preferences_from_id(id: bytes) -> Fl_PreferencesPtr
extern def Fl_Preferences_filename(prefs: Fl_PreferencesPtr, buffer: str, buffer_size: t.CUInt32T) -> int
extern def Fl_Preferences_get_userdata_path(prefs: Fl_PreferencesPtr, path: str, pathlen: int) -> char
extern def Fl_Preferences_id(prefs: Fl_PreferencesPtr) -> bytes
extern def Fl_Preferences_name(prefs: Fl_PreferencesPtr) -> str
extern def Fl_Preferences_path(prefs: Fl_PreferencesPtr) -> str
extern def Fl_Preferences_groups(prefs: Fl_PreferencesPtr) -> int
extern def Fl_Preferences_group(prefs: Fl_PreferencesPtr, num_group: int) -> str
extern def Fl_Preferences_group_exists(prefs: Fl_PreferencesPtr, key: str) -> char
extern def Fl_Preferences_delete_group(prefs: Fl_PreferencesPtr, group: str) -> char
extern def Fl_Preferences_delete_all_groups(prefs: Fl_PreferencesPtr) -> char
extern def Fl_Preferences_entries(prefs: Fl_PreferencesPtr) -> int
extern def Fl_Preferences_entry(prefs: Fl_PreferencesPtr, index: int) -> str
extern def Fl_Preferences_entry_exists(prefs: Fl_PreferencesPtr, key: str) -> char
extern def Fl_Preferences_delete_entry(prefs: Fl_PreferencesPtr, entry: str) -> char
extern def Fl_Preferences_delete_all_entries(prefs: Fl_PreferencesPtr) -> char
extern def Fl_Preferences_clear(prefs: Fl_PreferencesPtr) -> char
extern def Fl_Preferences_seti(prefs: Fl_PreferencesPtr, entry: str, value: int) -> char
extern def Fl_Preferences_setf(prefs: Fl_PreferencesPtr, entry: str, value: t.CFloat) -> char
extern def Fl_Preferences_setfp(prefs: Fl_PreferencesPtr, entry: str, value: t.CFloat, precision: int) -> char
extern def Fl_Preferences_setd(prefs: Fl_PreferencesPtr, entry: str, value: t.CDouble) -> char
extern def Fl_Preferences_setdp(prefs: Fl_PreferencesPtr, entry: str, value: t.CDouble, precision: int) -> char
extern def Fl_Preferences_sets(prefs: Fl_PreferencesPtr, entry: str, value: str) -> char
extern def Fl_Preferences_setv(prefs: Fl_PreferencesPtr, entry: str, value: bytes, size: int) -> char
extern def Fl_Preferences_geti(prefs: Fl_PreferencesPtr, entry: str, value: bytes, defaultValue: int) -> char
extern def Fl_Preferences_getf(prefs: Fl_PreferencesPtr, entry: str, value: bytes, defaultValue: t.CFloat) -> char
extern def Fl_Preferences_getd(prefs: Fl_PreferencesPtr, entry: str, value: bytes, defaultValue: t.CDouble) -> char
extern def Fl_Preferences_gets(prefs: Fl_PreferencesPtr, entry: str, value: str, defaultValue: str, maxSize: int) -> char
extern def Fl_Preferences_getv(prefs: Fl_PreferencesPtr, entry: str, value: bytes, defaultValue: bytes, defaultSize: int, maxSize: int) -> char
extern def Fl_Preferences_getv2(prefs: Fl_PreferencesPtr, entry: str, value: bytes, defaultValue: bytes, defaultSize: int, size: bytes) -> char
extern def Fl_Preferences_size(prefs: Fl_PreferencesPtr, entry: str) -> int
-48
View File
@@ -1,48 +0,0 @@
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)
-33
View File
@@ -1,33 +0,0 @@
import t, c
from fltk._types import *
# ============================================================
# fltk/_cfl_surface.vp — cfl_surface.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_Surface_Device_set_current(self: Fl_Surface_DevicePtr)
extern def Fl_Surface_Device_is_current(self: Fl_Surface_DevicePtr) -> int
extern def Fl_Surface_Device_surface() -> Fl_Surface_DevicePtr
extern def Fl_Surface_Device_push_current(new_current: Fl_Surface_DevicePtr)
extern def Fl_Surface_Device_pop_current() -> Fl_Surface_DevicePtr
extern def Fl_Image_Surface_new(w: int, h: int, high_res: int) -> Fl_Image_SurfacePtr
extern def Fl_Image_Surface_delete(s: Fl_Image_SurfacePtr)
extern def Fl_Image_Surface_set_current(self: Fl_Image_SurfacePtr)
extern def Fl_Image_Surface_is_current(self: Fl_Image_SurfacePtr) -> int
extern def Fl_Image_Surface_image(self: Fl_Image_SurfacePtr) -> bytes
extern def Fl_Image_Surface_highres_image(self: Fl_Image_SurfacePtr) -> bytes
extern def Fl_Image_Surface_origin(self: Fl_Image_SurfacePtr, x: bytes, y: bytes)
extern def Fl_Image_Surface_set_origin(self: Fl_Image_SurfacePtr, x: int, y: int)
extern def Fl_Image_Surface_rescale(self: Fl_Image_SurfacePtr)
extern def Fl_Image_Surface_draw(self: Fl_Image_SurfacePtr, widget: bytes, delta_x: int, delta_y: int)
extern def Fl_Image_Surface_draw_decorated_window(self: Fl_Image_SurfacePtr, widget: bytes, delta_x: int, delta_y: int)
extern def Fl_SVG_File_Surface_new(width: int, height: int, file: str) -> Fl_SVG_File_SurfacePtr
extern def Fl_SVG_File_Surface_delete(self: Fl_SVG_File_SurfacePtr)
extern def Fl_SVG_File_Surface_origin(self: Fl_SVG_File_SurfacePtr, x: int, y: int)
extern def Fl_SVG_File_Surface_printable_rect(self: Fl_SVG_File_SurfacePtr, w: bytes, h: bytes) -> int
extern def Fl_SVG_File_Surface_draw(self: Fl_SVG_File_SurfacePtr, widget: bytes, delta_x: int, delta_y: int)
extern def Fl_SVG_File_Surface_draw_decorated_window(self: Fl_SVG_File_SurfacePtr, widget: bytes, delta_x: int, delta_y: int)
-353
View File
@@ -1,353 +0,0 @@
import t, c
from fltk._types import *
# ============================================================
# fltk/_cfl_table.vp — cfl_table.h 的 extern FFI 声明(对接 cfltk C API)
# ============================================================
# 所有函数直接对应 cfltk 生成的 C 符号(extern "C"),链接目标: cfltk2。
# 类型约定: Fl_* 对象均为不透明指针 (Fl_XxxPtr);const char* → str;
# 函数指针/void* → bytes(Viper 端传 0/NULL 或不使用)。
# ----- Fl_Table (widget_declare) -----
extern def Fl_Table_new(x: int, y: int, width: int, height: int, title: str) -> Fl_TablePtr
extern def Fl_Table_x(self: Fl_TablePtr) -> int
extern def Fl_Table_y(self: Fl_TablePtr) -> int
extern def Fl_Table_width(self: Fl_TablePtr) -> int
extern def Fl_Table_height(self: Fl_TablePtr) -> int
extern def Fl_Table_label(self: Fl_TablePtr) -> str
extern def Fl_Table_set_label(self: Fl_TablePtr, title: str)
extern def Fl_Table_redraw(self: Fl_TablePtr)
extern def Fl_Table_show(self: Fl_TablePtr)
extern def Fl_Table_hide(self: Fl_TablePtr)
extern def Fl_Table_activate(self: Fl_TablePtr)
extern def Fl_Table_deactivate(self: Fl_TablePtr)
extern def Fl_Table_redraw_label(self: Fl_TablePtr)
extern def Fl_Table_resize(self: Fl_TablePtr, x: int, y: int, width: int, height: int)
extern def Fl_Table_widget_resize(self: Fl_TablePtr, x: int, y: int, width: int, height: int)
extern def Fl_Table_tooltip(self: Fl_TablePtr) -> str
extern def Fl_Table_set_tooltip(self: Fl_TablePtr, txt: str)
extern def Fl_Table_get_type(self: Fl_TablePtr) -> int
extern def Fl_Table_set_type(self: Fl_TablePtr, typ: int)
extern def Fl_Table_color(self: Fl_TablePtr) -> t.CUInt32T
extern def Fl_Table_set_color(self: Fl_TablePtr, color: t.CUInt32T)
extern def Fl_Table_measure_label(self: Fl_TablePtr, a1: bytes, a2: bytes)
extern def Fl_Table_label_color(self: Fl_TablePtr) -> t.CUInt32T
extern def Fl_Table_set_label_color(self: Fl_TablePtr, color: t.CUInt32T)
extern def Fl_Table_label_font(self: Fl_TablePtr) -> int
extern def Fl_Table_set_label_font(self: Fl_TablePtr, font: int)
extern def Fl_Table_label_size(self: Fl_TablePtr) -> int
extern def Fl_Table_set_label_size(self: Fl_TablePtr, sz: int)
extern def Fl_Table_label_type(self: Fl_TablePtr) -> int
extern def Fl_Table_set_label_type(self: Fl_TablePtr, typ: int)
extern def Fl_Table_box(self: Fl_TablePtr) -> int
extern def Fl_Table_set_box(self: Fl_TablePtr, typ: int)
extern def Fl_Table_changed(self: Fl_TablePtr) -> int
extern def Fl_Table_set_changed(self: Fl_TablePtr)
extern def Fl_Table_clear_changed(self: Fl_TablePtr)
extern def Fl_Table_align(self: Fl_TablePtr) -> int
extern def Fl_Table_set_align(self: Fl_TablePtr, typ: int)
extern def Fl_Table_delete(self: Fl_TablePtr)
extern def Fl_Table_set_image(self: Fl_TablePtr, a1: bytes)
extern def Fl_Table_handle(self: Fl_TablePtr, cb: bytes, data: bytes)
extern def Fl_Table_handle_event(self: Fl_TablePtr, event: int) -> int
extern def Fl_Table_draw(self: Fl_TablePtr, cb: bytes, data: bytes)
extern def Fl_Table_resize_callback(self: Fl_TablePtr, cb1: bytes, data: bytes)
extern def Fl_Table_set_when(self: Fl_TablePtr, a1: int)
extern def Fl_Table_when(self: Fl_TablePtr) -> int
extern def Fl_Table_image(self: Fl_TablePtr) -> bytes
extern def Fl_Table_parent(self: Fl_TablePtr) -> bytes
extern def Fl_Table_selection_color(self: Fl_TablePtr) -> t.CUInt32T
extern def Fl_Table_set_selection_color(self: Fl_TablePtr, color: t.CUInt32T)
extern def Fl_Table_do_callback(self: Fl_TablePtr)
extern def Fl_Table_inside(self: Fl_TablePtr, a1: bytes) -> int
extern def Fl_Table_window(self: Fl_TablePtr) -> bytes
extern def Fl_Table_top_window(self: Fl_TablePtr) -> bytes
extern def Fl_Table_takes_events(self: Fl_TablePtr) -> int
extern def Fl_Table_user_data(self: Fl_TablePtr) -> bytes
extern def Fl_Table_take_focus(self: Fl_TablePtr) -> int
extern def Fl_Table_set_visible_focus(self: Fl_TablePtr)
extern def Fl_Table_clear_visible_focus(self: Fl_TablePtr)
extern def Fl_Table_visible_focus(self: Fl_TablePtr, v: int)
extern def Fl_Table_has_visible_focus(self: Fl_TablePtr) -> t.CUInt32T
extern def Fl_Table_set_user_data(self: Fl_TablePtr, data: bytes)
extern def Fl_Table_draw_data(self: Fl_TablePtr) -> bytes
extern def Fl_Table_handle_data(self: Fl_TablePtr) -> bytes
extern def Fl_Table_set_draw_data(self: Fl_TablePtr, data: bytes)
extern def Fl_Table_set_handle_data(self: Fl_TablePtr, data: bytes)
extern def Fl_Table_damage(self: Fl_TablePtr) -> t.CUInt8T
extern def Fl_Table_set_damage(self: Fl_TablePtr, flag: t.CUInt8T)
extern def Fl_Table_set_damage_area(self: Fl_TablePtr, flag: t.CUInt8T, x: int, y: int, w: int, h: int)
extern def Fl_Table_clear_damage(self: Fl_TablePtr)
extern def Fl_Table_as_window(self: Fl_TablePtr) -> bytes
extern def Fl_Table_as_group(self: Fl_TablePtr) -> bytes
extern def Fl_Table_set_deimage(self: Fl_TablePtr, a1: bytes)
extern def Fl_Table_deimage(self: Fl_TablePtr) -> bytes
extern def Fl_Table_set_callback(self: Fl_TablePtr, a1: bytes, a2: bytes)
extern def Fl_Table_visible(self: Fl_TablePtr) -> int
extern def Fl_Table_visible_r(self: Fl_TablePtr) -> int
extern def Fl_Table_active(self: Fl_TablePtr) -> t.CUInt32T
extern def Fl_Table_active_r(self: Fl_TablePtr) -> int
extern def Fl_Table_callback(self: Fl_TablePtr) -> bytes
extern def Fl_Table_set_deletion_callback(self: Fl_TablePtr, cb1: bytes, data: bytes)
extern def Fl_Table_from_dyn_ptr(ptr: Fl_WidgetPtr) -> Fl_TablePtr
extern def Fl_Table_from_derived_dyn_ptr(ptr: Fl_WidgetPtr) -> Fl_TablePtr
extern def Fl_Table_super_draw(ptr: Fl_WidgetPtr, flag: int)
extern def Fl_Table_super_draw_first(ptr: Fl_WidgetPtr, flag: int)
extern def Fl_Table_super_handle_first(ptr: Fl_WidgetPtr, flag: int)
# ----- Fl_Table (group_declare) -----
extern def Fl_Table_begin(self: Fl_TablePtr)
extern def Fl_Table_end(self: Fl_TablePtr)
extern def Fl_Table_find(self: Fl_TablePtr, a1: bytes) -> int
extern def Fl_Table_add(self: Fl_TablePtr, a1: bytes)
extern def Fl_Table_insert(self: Fl_TablePtr, a1: bytes, pos: int)
extern def Fl_Table_remove(self: Fl_TablePtr, wid: bytes)
extern def Fl_Table_remove_by_index(self: Fl_TablePtr, idx: int)
extern def Fl_Table_clear(self: Fl_TablePtr)
extern def Fl_Table_children(self: Fl_TablePtr) -> int
extern def Fl_Table_child(self: Fl_TablePtr, index: int) -> Fl_WidgetPtr
extern def Fl_Table_resizable(self: Fl_TablePtr, a1: bytes)
extern def Fl_Table_set_clip_children(self: Fl_TablePtr, c: int)
extern def Fl_Table_clip_children(self: Fl_TablePtr) -> int
extern def Fl_Table_init_sizes(self: Fl_TablePtr)
extern def Fl_Table_draw_child(self: Fl_TablePtr, w: Fl_WidgetPtr)
extern def Fl_Table_update_child(self: Fl_TablePtr, w: Fl_WidgetPtr)
extern def Fl_Table_draw_outside_label(self: Fl_TablePtr, w: Fl_WidgetPtr)
extern def Fl_Table_draw_children(self: Fl_TablePtr)
# ----- Fl_Table (table_declare) -----
extern def Fl_Table_set_table_box(self: Fl_TablePtr, val: int)
extern def Fl_Table_table_box(self: Fl_TablePtr) -> int
extern def Fl_Table_set_rows(self: Fl_TablePtr, val: int)
extern def Fl_Table_rows(self: Fl_TablePtr) -> int
extern def Fl_Table_set_cols(self: Fl_TablePtr, val: int)
extern def Fl_Table_cols(self: Fl_TablePtr) -> int
extern def Fl_Table_visible_cells(self: Fl_TablePtr, r1: bytes, r2: bytes, c1: bytes, c2: bytes)
extern def Fl_Table_is_interactive_resize(self: Fl_TablePtr) -> int
extern def Fl_Table_row_resize(self: Fl_TablePtr) -> int
extern def Fl_Table_set_row_resize(self: Fl_TablePtr, flag: int)
extern def Fl_Table_col_resize(self: Fl_TablePtr) -> int
extern def Fl_Table_set_col_resize(self: Fl_TablePtr, flag: int)
extern def Fl_Table_col_resize_min(self: Fl_TablePtr) -> int
extern def Fl_Table_set_col_resize_min(self: Fl_TablePtr, val: int)
extern def Fl_Table_row_resize_min(self: Fl_TablePtr) -> int
extern def Fl_Table_set_row_resize_min(self: Fl_TablePtr, val: int)
extern def Fl_Table_row_header(self: Fl_TablePtr) -> int
extern def Fl_Table_set_row_header(self: Fl_TablePtr, flag: int)
extern def Fl_Table_col_header(self: Fl_TablePtr) -> int
extern def Fl_Table_set_col_header(self: Fl_TablePtr, flag: int)
extern def Fl_Table_set_col_header_height(self: Fl_TablePtr, height: int)
extern def Fl_Table_col_header_height(self: Fl_TablePtr) -> int
extern def Fl_Table_set_row_header_width(self: Fl_TablePtr, width: int)
extern def Fl_Table_row_header_width(self: Fl_TablePtr) -> int
extern def Fl_Table_set_row_header_color(self: Fl_TablePtr, val: t.CUInt32T)
extern def Fl_Table_row_header_color(self: Fl_TablePtr) -> t.CUInt32T
extern def Fl_Table_set_col_header_color(self: Fl_TablePtr, val: t.CUInt32T)
extern def Fl_Table_col_header_color(self: Fl_TablePtr) -> t.CUInt32T
extern def Fl_Table_set_row_height(self: Fl_TablePtr, row: int, height: int)
extern def Fl_Table_row_height(self: Fl_TablePtr, row: int) -> int
extern def Fl_Table_set_col_width(self: Fl_TablePtr, col: int, width: int)
extern def Fl_Table_col_width(self: Fl_TablePtr, col: int) -> int
extern def Fl_Table_set_row_height_all(self: Fl_TablePtr, height: int)
extern def Fl_Table_set_col_width_all(self: Fl_TablePtr, width: int)
extern def Fl_Table_set_row_position(self: Fl_TablePtr, row: int)
extern def Fl_Table_set_col_position(self: Fl_TablePtr, col: int)
extern def Fl_Table_row_position(self: Fl_TablePtr) -> int
extern def Fl_Table_col_position(self: Fl_TablePtr) -> int
extern def Fl_Table_set_top_row(self: Fl_TablePtr, row: int)
extern def Fl_Table_top_row(self: Fl_TablePtr) -> int
extern def Fl_Table_is_selected(self: Fl_TablePtr, r: int, c: int) -> int
extern def Fl_Table_get_selection(self: Fl_TablePtr, row_top: bytes, col_left: bytes, row_bot: bytes, col_right: bytes)
extern def Fl_Table_set_selection(self: Fl_TablePtr, row_top: int, col_left: int, row_bot: int, col_right: int)
extern def Fl_Table_move_cursor_with_shiftselect(self: Fl_TablePtr, R: int, C: int, shiftselect: int) -> int
extern def Fl_Table_move_cursor(self: Fl_TablePtr, R: int, C: int) -> int
extern def Fl_Table_scrollbar_size(self: Fl_TablePtr) -> int
extern def Fl_Table_set_scrollbar_size(self: Fl_TablePtr, newSize: int)
extern def Fl_Table_set_tab_cell_nav(self: Fl_TablePtr, val: int)
extern def Fl_Table_tab_cell_nav(self: Fl_TablePtr) -> int
extern def Fl_Table_draw_cell(self: Fl_TablePtr, cb1: bytes, data: bytes)
extern def Fl_Table_draw_cell_data(self: Fl_TablePtr) -> bytes
extern def Fl_Table_set_draw_cell_data(self: Fl_TablePtr, data: bytes)
extern def Fl_Table_callback_col(self: Fl_TablePtr) -> int
extern def Fl_Table_callback_row(self: Fl_TablePtr) -> int
extern def Fl_Table_callback_context(self: Fl_TablePtr) -> int
extern def Fl_Table_scrollbar(self: Fl_TablePtr) -> bytes
extern def Fl_Table_hscrollbar(self: Fl_TablePtr) -> bytes
extern def Fl_Table_find_cell(self: Fl_TablePtr, ctx: int, r: int, c: int, x: bytes, y: bytes, w: bytes, h: bytes) -> int
extern def Fl_Table_scroll(self: Fl_TablePtr) -> bytes
extern def Fl_Table_cursor2rowcol(self: Fl_TablePtr, r: bytes, c: bytes, flag: bytes) -> int
# ----- Fl_Table_Row (widget_declare) -----
extern def Fl_Table_Row_new(x: int, y: int, width: int, height: int, title: str) -> Fl_Table_RowPtr
extern def Fl_Table_Row_x(self: Fl_Table_RowPtr) -> int
extern def Fl_Table_Row_y(self: Fl_Table_RowPtr) -> int
extern def Fl_Table_Row_width(self: Fl_Table_RowPtr) -> int
extern def Fl_Table_Row_height(self: Fl_Table_RowPtr) -> int
extern def Fl_Table_Row_label(self: Fl_Table_RowPtr) -> str
extern def Fl_Table_Row_set_label(self: Fl_Table_RowPtr, title: str)
extern def Fl_Table_Row_redraw(self: Fl_Table_RowPtr)
extern def Fl_Table_Row_show(self: Fl_Table_RowPtr)
extern def Fl_Table_Row_hide(self: Fl_Table_RowPtr)
extern def Fl_Table_Row_activate(self: Fl_Table_RowPtr)
extern def Fl_Table_Row_deactivate(self: Fl_Table_RowPtr)
extern def Fl_Table_Row_redraw_label(self: Fl_Table_RowPtr)
extern def Fl_Table_Row_resize(self: Fl_Table_RowPtr, x: int, y: int, width: int, height: int)
extern def Fl_Table_Row_widget_resize(self: Fl_Table_RowPtr, x: int, y: int, width: int, height: int)
extern def Fl_Table_Row_tooltip(self: Fl_Table_RowPtr) -> str
extern def Fl_Table_Row_set_tooltip(self: Fl_Table_RowPtr, txt: str)
extern def Fl_Table_Row_get_type(self: Fl_Table_RowPtr) -> int
extern def Fl_Table_Row_set_type(self: Fl_Table_RowPtr, typ: int)
extern def Fl_Table_Row_color(self: Fl_Table_RowPtr) -> t.CUInt32T
extern def Fl_Table_Row_set_color(self: Fl_Table_RowPtr, color: t.CUInt32T)
extern def Fl_Table_Row_measure_label(self: Fl_Table_RowPtr, a1: bytes, a2: bytes)
extern def Fl_Table_Row_label_color(self: Fl_Table_RowPtr) -> t.CUInt32T
extern def Fl_Table_Row_set_label_color(self: Fl_Table_RowPtr, color: t.CUInt32T)
extern def Fl_Table_Row_label_font(self: Fl_Table_RowPtr) -> int
extern def Fl_Table_Row_set_label_font(self: Fl_Table_RowPtr, font: int)
extern def Fl_Table_Row_label_size(self: Fl_Table_RowPtr) -> int
extern def Fl_Table_Row_set_label_size(self: Fl_Table_RowPtr, sz: int)
extern def Fl_Table_Row_label_type(self: Fl_Table_RowPtr) -> int
extern def Fl_Table_Row_set_label_type(self: Fl_Table_RowPtr, typ: int)
extern def Fl_Table_Row_box(self: Fl_Table_RowPtr) -> int
extern def Fl_Table_Row_set_box(self: Fl_Table_RowPtr, typ: int)
extern def Fl_Table_Row_changed(self: Fl_Table_RowPtr) -> int
extern def Fl_Table_Row_set_changed(self: Fl_Table_RowPtr)
extern def Fl_Table_Row_clear_changed(self: Fl_Table_RowPtr)
extern def Fl_Table_Row_align(self: Fl_Table_RowPtr) -> int
extern def Fl_Table_Row_set_align(self: Fl_Table_RowPtr, typ: int)
extern def Fl_Table_Row_delete(self: Fl_Table_RowPtr)
extern def Fl_Table_Row_set_image(self: Fl_Table_RowPtr, a1: bytes)
extern def Fl_Table_Row_handle(self: Fl_Table_RowPtr, cb: bytes, data: bytes)
extern def Fl_Table_Row_handle_event(self: Fl_Table_RowPtr, event: int) -> int
extern def Fl_Table_Row_draw(self: Fl_Table_RowPtr, cb: bytes, data: bytes)
extern def Fl_Table_Row_resize_callback(self: Fl_Table_RowPtr, cb1: bytes, data: bytes)
extern def Fl_Table_Row_set_when(self: Fl_Table_RowPtr, a1: int)
extern def Fl_Table_Row_when(self: Fl_Table_RowPtr) -> int
extern def Fl_Table_Row_image(self: Fl_Table_RowPtr) -> bytes
extern def Fl_Table_Row_parent(self: Fl_Table_RowPtr) -> bytes
extern def Fl_Table_Row_selection_color(self: Fl_Table_RowPtr) -> t.CUInt32T
extern def Fl_Table_Row_set_selection_color(self: Fl_Table_RowPtr, color: t.CUInt32T)
extern def Fl_Table_Row_do_callback(self: Fl_Table_RowPtr)
extern def Fl_Table_Row_inside(self: Fl_Table_RowPtr, a1: bytes) -> int
extern def Fl_Table_Row_window(self: Fl_Table_RowPtr) -> bytes
extern def Fl_Table_Row_top_window(self: Fl_Table_RowPtr) -> bytes
extern def Fl_Table_Row_takes_events(self: Fl_Table_RowPtr) -> int
extern def Fl_Table_Row_user_data(self: Fl_Table_RowPtr) -> bytes
extern def Fl_Table_Row_take_focus(self: Fl_Table_RowPtr) -> int
extern def Fl_Table_Row_set_visible_focus(self: Fl_Table_RowPtr)
extern def Fl_Table_Row_clear_visible_focus(self: Fl_Table_RowPtr)
extern def Fl_Table_Row_visible_focus(self: Fl_Table_RowPtr, v: int)
extern def Fl_Table_Row_has_visible_focus(self: Fl_Table_RowPtr) -> t.CUInt32T
extern def Fl_Table_Row_set_user_data(self: Fl_Table_RowPtr, data: bytes)
extern def Fl_Table_Row_draw_data(self: Fl_Table_RowPtr) -> bytes
extern def Fl_Table_Row_handle_data(self: Fl_Table_RowPtr) -> bytes
extern def Fl_Table_Row_set_draw_data(self: Fl_Table_RowPtr, data: bytes)
extern def Fl_Table_Row_set_handle_data(self: Fl_Table_RowPtr, data: bytes)
extern def Fl_Table_Row_damage(self: Fl_Table_RowPtr) -> t.CUInt8T
extern def Fl_Table_Row_set_damage(self: Fl_Table_RowPtr, flag: t.CUInt8T)
extern def Fl_Table_Row_set_damage_area(self: Fl_Table_RowPtr, flag: t.CUInt8T, x: int, y: int, w: int, h: int)
extern def Fl_Table_Row_clear_damage(self: Fl_Table_RowPtr)
extern def Fl_Table_Row_as_window(self: Fl_Table_RowPtr) -> bytes
extern def Fl_Table_Row_as_group(self: Fl_Table_RowPtr) -> bytes
extern def Fl_Table_Row_set_deimage(self: Fl_Table_RowPtr, a1: bytes)
extern def Fl_Table_Row_deimage(self: Fl_Table_RowPtr) -> bytes
extern def Fl_Table_Row_set_callback(self: Fl_Table_RowPtr, a1: bytes, a2: bytes)
extern def Fl_Table_Row_visible(self: Fl_Table_RowPtr) -> int
extern def Fl_Table_Row_visible_r(self: Fl_Table_RowPtr) -> int
extern def Fl_Table_Row_active(self: Fl_Table_RowPtr) -> t.CUInt32T
extern def Fl_Table_Row_active_r(self: Fl_Table_RowPtr) -> int
extern def Fl_Table_Row_callback(self: Fl_Table_RowPtr) -> bytes
extern def Fl_Table_Row_set_deletion_callback(self: Fl_Table_RowPtr, cb1: bytes, data: bytes)
extern def Fl_Table_Row_from_dyn_ptr(ptr: Fl_WidgetPtr) -> Fl_Table_RowPtr
extern def Fl_Table_Row_from_derived_dyn_ptr(ptr: Fl_WidgetPtr) -> Fl_Table_RowPtr
extern def Fl_Table_Row_super_draw(ptr: Fl_WidgetPtr, flag: int)
extern def Fl_Table_Row_super_draw_first(ptr: Fl_WidgetPtr, flag: int)
extern def Fl_Table_Row_super_handle_first(ptr: Fl_WidgetPtr, flag: int)
# ----- Fl_Table_Row (group_declare) -----
extern def Fl_Table_Row_begin(self: Fl_Table_RowPtr)
extern def Fl_Table_Row_end(self: Fl_Table_RowPtr)
extern def Fl_Table_Row_find(self: Fl_Table_RowPtr, a1: bytes) -> int
extern def Fl_Table_Row_add(self: Fl_Table_RowPtr, a1: bytes)
extern def Fl_Table_Row_insert(self: Fl_Table_RowPtr, a1: bytes, pos: int)
extern def Fl_Table_Row_remove(self: Fl_Table_RowPtr, wid: bytes)
extern def Fl_Table_Row_remove_by_index(self: Fl_Table_RowPtr, idx: int)
extern def Fl_Table_Row_clear(self: Fl_Table_RowPtr)
extern def Fl_Table_Row_children(self: Fl_Table_RowPtr) -> int
extern def Fl_Table_Row_child(self: Fl_Table_RowPtr, index: int) -> Fl_WidgetPtr
extern def Fl_Table_Row_resizable(self: Fl_Table_RowPtr, a1: bytes)
extern def Fl_Table_Row_set_clip_children(self: Fl_Table_RowPtr, c: int)
extern def Fl_Table_Row_clip_children(self: Fl_Table_RowPtr) -> int
extern def Fl_Table_Row_init_sizes(self: Fl_Table_RowPtr)
extern def Fl_Table_Row_draw_child(self: Fl_Table_RowPtr, w: Fl_WidgetPtr)
extern def Fl_Table_Row_update_child(self: Fl_Table_RowPtr, w: Fl_WidgetPtr)
extern def Fl_Table_Row_draw_outside_label(self: Fl_Table_RowPtr, w: Fl_WidgetPtr)
extern def Fl_Table_Row_draw_children(self: Fl_Table_RowPtr)
# ----- Fl_Table_Row (table_declare) -----
extern def Fl_Table_Row_set_table_box(self: Fl_Table_RowPtr, val: int)
extern def Fl_Table_Row_table_box(self: Fl_Table_RowPtr) -> int
extern def Fl_Table_Row_set_rows(self: Fl_Table_RowPtr, val: int)
extern def Fl_Table_Row_rows(self: Fl_Table_RowPtr) -> int
extern def Fl_Table_Row_set_cols(self: Fl_Table_RowPtr, val: int)
extern def Fl_Table_Row_cols(self: Fl_Table_RowPtr) -> int
extern def Fl_Table_Row_visible_cells(self: Fl_Table_RowPtr, r1: bytes, r2: bytes, c1: bytes, c2: bytes)
extern def Fl_Table_Row_is_interactive_resize(self: Fl_Table_RowPtr) -> int
extern def Fl_Table_Row_row_resize(self: Fl_Table_RowPtr) -> int
extern def Fl_Table_Row_set_row_resize(self: Fl_Table_RowPtr, flag: int)
extern def Fl_Table_Row_col_resize(self: Fl_Table_RowPtr) -> int
extern def Fl_Table_Row_set_col_resize(self: Fl_Table_RowPtr, flag: int)
extern def Fl_Table_Row_col_resize_min(self: Fl_Table_RowPtr) -> int
extern def Fl_Table_Row_set_col_resize_min(self: Fl_Table_RowPtr, val: int)
extern def Fl_Table_Row_row_resize_min(self: Fl_Table_RowPtr) -> int
extern def Fl_Table_Row_set_row_resize_min(self: Fl_Table_RowPtr, val: int)
extern def Fl_Table_Row_row_header(self: Fl_Table_RowPtr) -> int
extern def Fl_Table_Row_set_row_header(self: Fl_Table_RowPtr, flag: int)
extern def Fl_Table_Row_col_header(self: Fl_Table_RowPtr) -> int
extern def Fl_Table_Row_set_col_header(self: Fl_Table_RowPtr, flag: int)
extern def Fl_Table_Row_set_col_header_height(self: Fl_Table_RowPtr, height: int)
extern def Fl_Table_Row_col_header_height(self: Fl_Table_RowPtr) -> int
extern def Fl_Table_Row_set_row_header_width(self: Fl_Table_RowPtr, width: int)
extern def Fl_Table_Row_row_header_width(self: Fl_Table_RowPtr) -> int
extern def Fl_Table_Row_set_row_header_color(self: Fl_Table_RowPtr, val: t.CUInt32T)
extern def Fl_Table_Row_row_header_color(self: Fl_Table_RowPtr) -> t.CUInt32T
extern def Fl_Table_Row_set_col_header_color(self: Fl_Table_RowPtr, val: t.CUInt32T)
extern def Fl_Table_Row_col_header_color(self: Fl_Table_RowPtr) -> t.CUInt32T
extern def Fl_Table_Row_set_row_height(self: Fl_Table_RowPtr, row: int, height: int)
extern def Fl_Table_Row_row_height(self: Fl_Table_RowPtr, row: int) -> int
extern def Fl_Table_Row_set_col_width(self: Fl_Table_RowPtr, col: int, width: int)
extern def Fl_Table_Row_col_width(self: Fl_Table_RowPtr, col: int) -> int
extern def Fl_Table_Row_set_row_height_all(self: Fl_Table_RowPtr, height: int)
extern def Fl_Table_Row_set_col_width_all(self: Fl_Table_RowPtr, width: int)
extern def Fl_Table_Row_set_row_position(self: Fl_Table_RowPtr, row: int)
extern def Fl_Table_Row_set_col_position(self: Fl_Table_RowPtr, col: int)
extern def Fl_Table_Row_row_position(self: Fl_Table_RowPtr) -> int
extern def Fl_Table_Row_col_position(self: Fl_Table_RowPtr) -> int
extern def Fl_Table_Row_set_top_row(self: Fl_Table_RowPtr, row: int)
extern def Fl_Table_Row_top_row(self: Fl_Table_RowPtr) -> int
extern def Fl_Table_Row_is_selected(self: Fl_Table_RowPtr, r: int, c: int) -> int
extern def Fl_Table_Row_get_selection(self: Fl_Table_RowPtr, row_top: bytes, col_left: bytes, row_bot: bytes, col_right: bytes)
extern def Fl_Table_Row_set_selection(self: Fl_Table_RowPtr, row_top: int, col_left: int, row_bot: int, col_right: int)
extern def Fl_Table_Row_move_cursor_with_shiftselect(self: Fl_Table_RowPtr, R: int, C: int, shiftselect: int) -> int
extern def Fl_Table_Row_move_cursor(self: Fl_Table_RowPtr, R: int, C: int) -> int
extern def Fl_Table_Row_scrollbar_size(self: Fl_Table_RowPtr) -> int
extern def Fl_Table_Row_set_scrollbar_size(self: Fl_Table_RowPtr, newSize: int)
extern def Fl_Table_Row_set_tab_cell_nav(self: Fl_Table_RowPtr, val: int)
extern def Fl_Table_Row_tab_cell_nav(self: Fl_Table_RowPtr) -> int
extern def Fl_Table_Row_draw_cell(self: Fl_Table_RowPtr, cb1: bytes, data: bytes)
extern def Fl_Table_Row_draw_cell_data(self: Fl_Table_RowPtr) -> bytes
extern def Fl_Table_Row_set_draw_cell_data(self: Fl_Table_RowPtr, data: bytes)
extern def Fl_Table_Row_callback_col(self: Fl_Table_RowPtr) -> int
extern def Fl_Table_Row_callback_row(self: Fl_Table_RowPtr) -> int
extern def Fl_Table_Row_callback_context(self: Fl_Table_RowPtr) -> int
extern def Fl_Table_Row_scrollbar(self: Fl_Table_RowPtr) -> bytes
extern def Fl_Table_Row_hscrollbar(self: Fl_Table_RowPtr) -> bytes
extern def Fl_Table_Row_find_cell(self: Fl_Table_RowPtr, ctx: int, r: int, c: int, x: bytes, y: bytes, w: bytes, h: bytes) -> int
extern def Fl_Table_Row_scroll(self: Fl_Table_RowPtr) -> bytes
extern def Fl_Table_Row_cursor2rowcol(self: Fl_Table_RowPtr, r: bytes, c: bytes, flag: bytes) -> int
extern def Fl_Table_Row_row_selected(self: Fl_Table_RowPtr, row: int) -> int
extern def Fl_Table_Row_select_row(self: Fl_Table_RowPtr, row: int, flag: int) -> int
extern def Fl_Table_Row_select_all_rows(self: Fl_Table_RowPtr, flag: int)
extern def Fl_Table_Row_clear_rows(self: Fl_Table_RowPtr)
-256
View File
@@ -1,256 +0,0 @@
import t, c
from fltk._types import *
# ============================================================
# fltk/_cfl_term.vp — cfl_term.h 的 extern FFI 声明(对接 cfltk C API)
# ============================================================
# 所有函数直接对应 cfltk 生成的 C 符号(extern "C"),链接目标: cfltk2。
# 类型约定: Fl_* 对象均为不透明指针 (Fl_XxxPtr);const char* → str;
# 函数指针/void* → bytes(Viper 端传 0/NULL 或不使用)。
# ----- Fl_Terminal (widget_declare) -----
extern def Fl_Terminal_new(x: int, y: int, width: int, height: int, title: str) -> Fl_TerminalPtr
extern def Fl_Terminal_x(self: Fl_TerminalPtr) -> int
extern def Fl_Terminal_y(self: Fl_TerminalPtr) -> int
extern def Fl_Terminal_width(self: Fl_TerminalPtr) -> int
extern def Fl_Terminal_height(self: Fl_TerminalPtr) -> int
extern def Fl_Terminal_label(self: Fl_TerminalPtr) -> str
extern def Fl_Terminal_set_label(self: Fl_TerminalPtr, title: str)
extern def Fl_Terminal_redraw(self: Fl_TerminalPtr)
extern def Fl_Terminal_show(self: Fl_TerminalPtr)
extern def Fl_Terminal_hide(self: Fl_TerminalPtr)
extern def Fl_Terminal_activate(self: Fl_TerminalPtr)
extern def Fl_Terminal_deactivate(self: Fl_TerminalPtr)
extern def Fl_Terminal_redraw_label(self: Fl_TerminalPtr)
extern def Fl_Terminal_resize(self: Fl_TerminalPtr, x: int, y: int, width: int, height: int)
extern def Fl_Terminal_widget_resize(self: Fl_TerminalPtr, x: int, y: int, width: int, height: int)
extern def Fl_Terminal_tooltip(self: Fl_TerminalPtr) -> str
extern def Fl_Terminal_set_tooltip(self: Fl_TerminalPtr, txt: str)
extern def Fl_Terminal_get_type(self: Fl_TerminalPtr) -> int
extern def Fl_Terminal_set_type(self: Fl_TerminalPtr, typ: int)
extern def Fl_Terminal_color(self: Fl_TerminalPtr) -> t.CUInt32T
extern def Fl_Terminal_set_color(self: Fl_TerminalPtr, color: t.CUInt32T)
extern def Fl_Terminal_measure_label(self: Fl_TerminalPtr, a1: bytes, a2: bytes)
extern def Fl_Terminal_label_color(self: Fl_TerminalPtr) -> t.CUInt32T
extern def Fl_Terminal_set_label_color(self: Fl_TerminalPtr, color: t.CUInt32T)
extern def Fl_Terminal_label_font(self: Fl_TerminalPtr) -> int
extern def Fl_Terminal_set_label_font(self: Fl_TerminalPtr, font: int)
extern def Fl_Terminal_label_size(self: Fl_TerminalPtr) -> int
extern def Fl_Terminal_set_label_size(self: Fl_TerminalPtr, sz: int)
extern def Fl_Terminal_label_type(self: Fl_TerminalPtr) -> int
extern def Fl_Terminal_set_label_type(self: Fl_TerminalPtr, typ: int)
extern def Fl_Terminal_box(self: Fl_TerminalPtr) -> int
extern def Fl_Terminal_set_box(self: Fl_TerminalPtr, typ: int)
extern def Fl_Terminal_changed(self: Fl_TerminalPtr) -> int
extern def Fl_Terminal_set_changed(self: Fl_TerminalPtr)
extern def Fl_Terminal_clear_changed(self: Fl_TerminalPtr)
extern def Fl_Terminal_align(self: Fl_TerminalPtr) -> int
extern def Fl_Terminal_set_align(self: Fl_TerminalPtr, typ: int)
extern def Fl_Terminal_delete(self: Fl_TerminalPtr)
extern def Fl_Terminal_set_image(self: Fl_TerminalPtr, a1: bytes)
extern def Fl_Terminal_handle(self: Fl_TerminalPtr, cb: bytes, data: bytes)
extern def Fl_Terminal_handle_event(self: Fl_TerminalPtr, event: int) -> int
extern def Fl_Terminal_draw(self: Fl_TerminalPtr, cb: bytes, data: bytes)
extern def Fl_Terminal_resize_callback(self: Fl_TerminalPtr, cb1: bytes, data: bytes)
extern def Fl_Terminal_set_when(self: Fl_TerminalPtr, a1: int)
extern def Fl_Terminal_when(self: Fl_TerminalPtr) -> int
extern def Fl_Terminal_image(self: Fl_TerminalPtr) -> bytes
extern def Fl_Terminal_parent(self: Fl_TerminalPtr) -> bytes
extern def Fl_Terminal_selection_color(self: Fl_TerminalPtr) -> t.CUInt32T
extern def Fl_Terminal_set_selection_color(self: Fl_TerminalPtr, color: t.CUInt32T)
extern def Fl_Terminal_do_callback(self: Fl_TerminalPtr)
extern def Fl_Terminal_inside(self: Fl_TerminalPtr, a1: bytes) -> int
extern def Fl_Terminal_window(self: Fl_TerminalPtr) -> bytes
extern def Fl_Terminal_top_window(self: Fl_TerminalPtr) -> bytes
extern def Fl_Terminal_takes_events(self: Fl_TerminalPtr) -> int
extern def Fl_Terminal_user_data(self: Fl_TerminalPtr) -> bytes
extern def Fl_Terminal_take_focus(self: Fl_TerminalPtr) -> int
extern def Fl_Terminal_set_visible_focus(self: Fl_TerminalPtr)
extern def Fl_Terminal_clear_visible_focus(self: Fl_TerminalPtr)
extern def Fl_Terminal_visible_focus(self: Fl_TerminalPtr, v: int)
extern def Fl_Terminal_has_visible_focus(self: Fl_TerminalPtr) -> t.CUInt32T
extern def Fl_Terminal_set_user_data(self: Fl_TerminalPtr, data: bytes)
extern def Fl_Terminal_draw_data(self: Fl_TerminalPtr) -> bytes
extern def Fl_Terminal_handle_data(self: Fl_TerminalPtr) -> bytes
extern def Fl_Terminal_set_draw_data(self: Fl_TerminalPtr, data: bytes)
extern def Fl_Terminal_set_handle_data(self: Fl_TerminalPtr, data: bytes)
extern def Fl_Terminal_damage(self: Fl_TerminalPtr) -> t.CUInt8T
extern def Fl_Terminal_set_damage(self: Fl_TerminalPtr, flag: t.CUInt8T)
extern def Fl_Terminal_set_damage_area(self: Fl_TerminalPtr, flag: t.CUInt8T, x: int, y: int, w: int, h: int)
extern def Fl_Terminal_clear_damage(self: Fl_TerminalPtr)
extern def Fl_Terminal_as_window(self: Fl_TerminalPtr) -> bytes
extern def Fl_Terminal_as_group(self: Fl_TerminalPtr) -> bytes
extern def Fl_Terminal_set_deimage(self: Fl_TerminalPtr, a1: bytes)
extern def Fl_Terminal_deimage(self: Fl_TerminalPtr) -> bytes
extern def Fl_Terminal_set_callback(self: Fl_TerminalPtr, a1: bytes, a2: bytes)
extern def Fl_Terminal_visible(self: Fl_TerminalPtr) -> int
extern def Fl_Terminal_visible_r(self: Fl_TerminalPtr) -> int
extern def Fl_Terminal_active(self: Fl_TerminalPtr) -> t.CUInt32T
extern def Fl_Terminal_active_r(self: Fl_TerminalPtr) -> int
extern def Fl_Terminal_callback(self: Fl_TerminalPtr) -> bytes
extern def Fl_Terminal_set_deletion_callback(self: Fl_TerminalPtr, cb1: bytes, data: bytes)
extern def Fl_Terminal_from_dyn_ptr(ptr: Fl_WidgetPtr) -> Fl_TerminalPtr
extern def Fl_Terminal_from_derived_dyn_ptr(ptr: Fl_WidgetPtr) -> Fl_TerminalPtr
extern def Fl_Terminal_super_draw(ptr: Fl_WidgetPtr, flag: int)
extern def Fl_Terminal_super_draw_first(ptr: Fl_WidgetPtr, flag: int)
extern def Fl_Terminal_super_handle_first(ptr: Fl_WidgetPtr, flag: int)
# ----- Fl_Terminal (group_declare) -----
extern def Fl_Terminal_begin(self: Fl_TerminalPtr)
extern def Fl_Terminal_end(self: Fl_TerminalPtr)
extern def Fl_Terminal_find(self: Fl_TerminalPtr, a1: bytes) -> int
extern def Fl_Terminal_add(self: Fl_TerminalPtr, a1: bytes)
extern def Fl_Terminal_insert(self: Fl_TerminalPtr, a1: bytes, pos: int)
extern def Fl_Terminal_remove(self: Fl_TerminalPtr, wid: bytes)
extern def Fl_Terminal_remove_by_index(self: Fl_TerminalPtr, idx: int)
extern def Fl_Terminal_clear(self: Fl_TerminalPtr)
extern def Fl_Terminal_children(self: Fl_TerminalPtr) -> int
extern def Fl_Terminal_child(self: Fl_TerminalPtr, index: int) -> Fl_WidgetPtr
extern def Fl_Terminal_resizable(self: Fl_TerminalPtr, a1: bytes)
extern def Fl_Terminal_set_clip_children(self: Fl_TerminalPtr, c: int)
extern def Fl_Terminal_clip_children(self: Fl_TerminalPtr) -> int
extern def Fl_Terminal_init_sizes(self: Fl_TerminalPtr)
extern def Fl_Terminal_draw_child(self: Fl_TerminalPtr, w: Fl_WidgetPtr)
extern def Fl_Terminal_update_child(self: Fl_TerminalPtr, w: Fl_WidgetPtr)
extern def Fl_Terminal_draw_outside_label(self: Fl_TerminalPtr, w: Fl_WidgetPtr)
extern def Fl_Terminal_draw_children(self: Fl_TerminalPtr)
extern def Fl_Terminal_ansi(self: Fl_TerminalPtr) -> int
extern def Fl_Terminal_set_ansi(self: Fl_TerminalPtr, boolean: int)
extern def Fl_Terminal_append(self: Fl_TerminalPtr, txt: str)
extern def Fl_Terminal_append_u8(self: Fl_TerminalPtr, txt: str, len_: int)
extern def Fl_Terminal_append_ascii(self: Fl_TerminalPtr, txt: str)
extern def Fl_Terminal_append_utf8(self: Fl_TerminalPtr, txt: str)
extern def Fl_Terminal_append_utf8_u8(self: Fl_TerminalPtr, txt: str, len_: int)
extern def Fl_Terminal_clear_mouse_selection(self: Fl_TerminalPtr)
extern def Fl_Terminal_clear_to_color(self: Fl_TerminalPtr, set: bytes)
extern def Fl_Terminal_clear_history(self: Fl_TerminalPtr)
extern def Fl_Terminal_clear_screen(self: Fl_TerminalPtr, boolean: int)
extern def Fl_Terminal_clear_screen_home(self: Fl_TerminalPtr, boolean: int)
extern def Fl_Terminal_cursor_col(self: Fl_TerminalPtr) -> int
extern def Fl_Terminal_set_cursor_col(self: Fl_TerminalPtr, val: int)
extern def Fl_Terminal_cursor_home(self: Fl_TerminalPtr)
extern def Fl_Terminal_cursor_row(self: Fl_TerminalPtr) -> int
extern def Fl_Terminal_set_cursor_row(self: Fl_TerminalPtr, val: int)
extern def Fl_Terminal_cursor_up(self: Fl_TerminalPtr, count: int, do_scroll: int)
extern def Fl_Terminal_cursor_down(self: Fl_TerminalPtr, count: int, do_scroll: int)
extern def Fl_Terminal_cursor_left(self: Fl_TerminalPtr, count: int)
extern def Fl_Terminal_cursor_right(self: Fl_TerminalPtr, count: int, do_scroll: int)
extern def Fl_Terminal_scroll(self: Fl_TerminalPtr, count: int)
extern def Fl_Terminal_clear_eod(self: Fl_TerminalPtr)
extern def Fl_Terminal_clear_eol(self: Fl_TerminalPtr)
extern def Fl_Terminal_clear_cur_line(self: Fl_TerminalPtr)
extern def Fl_Terminal_clear_line(self: Fl_TerminalPtr, drow: int)
extern def Fl_Terminal_clear_sod(self: Fl_TerminalPtr)
extern def Fl_Terminal_clear_sol(self: Fl_TerminalPtr)
extern def Fl_Terminal_insert_char(self: Fl_TerminalPtr, c: char, rep: int)
extern def Fl_Terminal_insert_char_eol(self: Fl_TerminalPtr, c: char, drow: int, dcol: int, rep: int)
extern def Fl_Terminal_insert_rows(self: Fl_TerminalPtr, count: int)
extern def Fl_Terminal_delete_chars(self: Fl_TerminalPtr, drow: int, dcol: int, count: int)
extern def Fl_Terminal_delete_cur_chars(self: Fl_TerminalPtr, count: int)
extern def Fl_Terminal_delete_rows(self: Fl_TerminalPtr, count: int)
extern def Fl_Terminal_cursor_bg_color(self: Fl_TerminalPtr) -> bytes
extern def Fl_Terminal_set_cursor_bg_color(self: Fl_TerminalPtr, set: bytes) -> bytes
extern def Fl_Terminal_cursor_fg_color(self: Fl_TerminalPtr) -> bytes
extern def Fl_Terminal_set_cursor_fg_color(self: Fl_TerminalPtr, set: bytes) -> bytes
extern def Fl_Terminal_display_columns(self: Fl_TerminalPtr) -> int
extern def Fl_Terminal_set_display_columns(self: Fl_TerminalPtr, set: int)
extern def Fl_Terminal_display_rows(self: Fl_TerminalPtr) -> int
extern def Fl_Terminal_history_rows(self: Fl_TerminalPtr) -> int
extern def Fl_Terminal_set_history_rows(self: Fl_TerminalPtr, set: int)
extern def Fl_Terminal_get_selection(self: Fl_TerminalPtr, retval: bytes) -> int
extern def Fl_Terminal_history_use(self: Fl_TerminalPtr) -> int
extern def Fl_Terminal_margin_bottom(self: Fl_TerminalPtr) -> int
extern def Fl_Terminal_set_margin_bottom(self: Fl_TerminalPtr, set: int)
extern def Fl_Terminal_margin_left(self: Fl_TerminalPtr) -> int
extern def Fl_Terminal_set_margin_left(self: Fl_TerminalPtr, set: int)
extern def Fl_Terminal_margin_right(self: Fl_TerminalPtr) -> int
extern def Fl_Terminal_set_margin_right(self: Fl_TerminalPtr, set: int)
extern def Fl_Terminal_margin_top(self: Fl_TerminalPtr) -> int
extern def Fl_Terminal_set_margin_top(self: Fl_TerminalPtr, set: int)
extern def Fl_Terminal_output_translate(self: Fl_TerminalPtr) -> bytes
extern def Fl_Terminal_set_output_translate(self: Fl_TerminalPtr, set: bytes) -> bytes
extern def Fl_Terminal_print_char(self: Fl_TerminalPtr, c: char)
extern def Fl_Terminal_print_char_utf8(self: Fl_TerminalPtr, txt: str, len_: int)
extern def Fl_Terminal_printf(self: Fl_TerminalPtr, fmt: str, a2: bytes) -> bytes
extern def Fl_Terminal_plot_char(self: Fl_TerminalPtr, c: char, row: int, col: int)
extern def Fl_Terminal_plot_char_utf8(self: Fl_TerminalPtr, txt: str, len_: int, row: int, col: int)
extern def Fl_Terminal_redraw_rate(self: Fl_TerminalPtr) -> t.CFloat
extern def Fl_Terminal_set_redraw_rate(self: Fl_TerminalPtr, set: t.CFloat)
extern def Fl_Terminal_redraw_style(self: Fl_TerminalPtr) -> int
extern def Fl_Terminal_set_redraw_style(self: Fl_TerminalPtr, set: int) -> bytes
extern def Fl_Terminal_reset_terminal(self: Fl_TerminalPtr)
extern def Fl_Terminal_scrollbar_actual_size(self: Fl_TerminalPtr) -> int
extern def Fl_Terminal_scrollbar_size(self: Fl_TerminalPtr) -> int
extern def Fl_Terminal_set_scrollbar_size(self: Fl_TerminalPtr, set: int)
extern def Fl_Terminal_hscrollbar_actual_size(self: Fl_TerminalPtr) -> bytes
extern def Fl_Terminal_hscrollbar_size(self: Fl_TerminalPtr) -> bytes
extern def Fl_Terminal_set_hscrollbar_size(self: Fl_TerminalPtr, set: int) -> bytes
extern def Fl_Terminal_hscroll_col(self: Fl_TerminalPtr) -> bytes
extern def Fl_Terminal_set_hscroll_col(self: Fl_TerminalPtr, set: int) -> bytes
extern def Fl_Terminal_hscrollbar_style(self: Fl_TerminalPtr) -> int
extern def Fl_Terminal_set_hscrollbar_style(self: Fl_TerminalPtr, set: int) -> bytes
extern def Fl_Terminal_selection_bg_color(self: Fl_TerminalPtr) -> bytes
extern def Fl_Terminal_set_selection_bg_color(self: Fl_TerminalPtr, set: bytes) -> bytes
extern def Fl_Terminal_selection_fg_color(self: Fl_TerminalPtr) -> bytes
extern def Fl_Terminal_set_selection_fg_color(self: Fl_TerminalPtr, set: bytes) -> bytes
extern def Fl_Terminal_show_unknown(self: Fl_TerminalPtr) -> int
extern def Fl_Terminal_set_show_unknown(self: Fl_TerminalPtr, boolean: int)
extern def Fl_Terminal_text_attrib(self: Fl_TerminalPtr) -> t.CUInt8T
extern def Fl_Terminal_set_text_attrib(self: Fl_TerminalPtr, set: t.CUInt8T) -> bytes
extern def Fl_Terminal_text_bg_color(self: Fl_TerminalPtr) -> bytes
extern def Fl_Terminal_set_text_bg_color(self: Fl_TerminalPtr, set: bytes) -> bytes
extern def Fl_Terminal_text_bg_color_default(self: Fl_TerminalPtr) -> bytes
extern def Fl_Terminal_set_text_bg_color_default(self: Fl_TerminalPtr, set: bytes) -> bytes
extern def Fl_Terminal_set_text_bg_color_xterm(self: Fl_TerminalPtr, set: t.CUInt8T)
extern def Fl_Terminal_set_text_color(self: Fl_TerminalPtr, set: bytes)
extern def Fl_Terminal_text_fg_color(self: Fl_TerminalPtr) -> bytes
extern def Fl_Terminal_set_text_fg_color(self: Fl_TerminalPtr, set: bytes) -> bytes
extern def Fl_Terminal_text_fg_color_default(self: Fl_TerminalPtr) -> bytes
extern def Fl_Terminal_set_text_fg_color_default(self: Fl_TerminalPtr, set: bytes) -> bytes
extern def Fl_Terminal_set_text_fg_color_xterm(self: Fl_TerminalPtr, set: t.CUInt8T)
extern def Fl_Terminal_text_font(self: Fl_TerminalPtr) -> int
extern def Fl_Terminal_set_text_font(self: Fl_TerminalPtr, set: int) -> bytes
extern def Fl_Terminal_text_size(self: Fl_TerminalPtr) -> int
extern def Fl_Terminal_set_text_size(self: Fl_TerminalPtr, set: int)
extern def Fl_Terminal_text(self: Fl_TerminalPtr, lines_below_cursor: int) -> str
extern def Fl_Terminal_selection_text(self: Fl_TerminalPtr) -> bytes
extern def Fl_Terminal_selection_text_len(self: Fl_TerminalPtr) -> int
extern def Fl_Terminal_scrollbar(self: Fl_TerminalPtr) -> bytes
extern def Fl_Terminal_hscrollbar(self: Fl_TerminalPtr) -> Fl_Terminal_ScrollbarPtr
extern def Fl_Terminal_Utf8Char_attr_bgcolor(self: Fl_Terminal_Utf8CharPtr, grp: Fl_TerminalPtr) -> bytes
extern def Fl_Terminal_Utf8Char_attr_fgcolor(self: Fl_Terminal_Utf8CharPtr, grp: Fl_TerminalPtr) -> bytes
extern def Fl_Terminal_Utf8Char_attrib(self: Fl_Terminal_Utf8CharPtr) -> bytes
extern def Fl_Terminal_Utf8Char_bgcolor(self: Fl_Terminal_Utf8CharPtr) -> bytes
extern def Fl_Terminal_Utf8Char_fgcolor(self: Fl_Terminal_Utf8CharPtr) -> bytes
extern def Fl_Terminal_Utf8Char_is_char(self: Fl_Terminal_Utf8CharPtr, c: char) -> bytes
extern def Fl_Terminal_Utf8Char_length(self: Fl_Terminal_Utf8CharPtr) -> bytes
extern def Fl_Terminal_Utf8Char_max_utf8(self: Fl_Terminal_Utf8CharPtr) -> int
extern def Fl_Terminal_Utf8Char_pwidth(self: Fl_Terminal_Utf8CharPtr) -> t.CDouble
extern def Fl_Terminal_Utf8Char_pwidth_int(self: Fl_Terminal_Utf8CharPtr) -> int
extern def Fl_Terminal_Utf8Char_text_utf8(self: Fl_Terminal_Utf8CharPtr) -> bytes
extern def Fl_Terminal_Utf8Char_charflags(self: Fl_Terminal_Utf8CharPtr) -> t.CUInt8T
extern def Fl_Terminal_Utf8Char_length(self: Fl_Terminal_Utf8CharPtr) -> int
extern def Fl_Terminal_Utf8Char_new_obj(c: t.CUInt8T) -> bytes
extern def Fl_Terminal_disp_erow(self: Fl_TerminalPtr) -> bytes
extern def Fl_Terminal_disp_srow(self: Fl_TerminalPtr) -> int
extern def Fl_Terminal_hist_erow(self: Fl_TerminalPtr) -> int
extern def Fl_Terminal_hist_srow(self: Fl_TerminalPtr) -> int
extern def Fl_Terminal_hist_use(self: Fl_TerminalPtr) -> int
extern def Fl_Terminal_hist_use_srow(self: Fl_TerminalPtr) -> int
extern def Fl_Terminal_h_to_row(self: Fl_TerminalPtr, H: int) -> int
extern def Fl_Terminal_w_to_col(self: Fl_TerminalPtr, W: int) -> int
extern def Fl_Terminal_is_inside_selection(self: Fl_TerminalPtr, row: int, col: int) -> int
extern def Fl_Terminal_is_selection(self: Fl_TerminalPtr) -> bytes
extern def Fl_Terminal_offset(self: Fl_TerminalPtr) -> bytes
extern def Fl_Terminal_ring_erow(self: Fl_TerminalPtr) -> int
extern def Fl_Terminal_ring_srow(self: Fl_TerminalPtr) -> int
extern def Fl_Terminal_ring_rows(self: Fl_TerminalPtr) -> int
extern def Fl_Terminal_u8c_cursor(self: Fl_TerminalPtr) -> Fl_Terminal_Utf8CharPtr
extern def Fl_Terminal_u8c_disp_row(self: Fl_TerminalPtr, drow: int) -> Fl_Terminal_Utf8CharPtr
extern def Fl_Terminal_u8c_hist_row(self: Fl_TerminalPtr, hrow: int) -> Fl_Terminal_Utf8CharPtr
extern def Fl_Terminal_u8c_hist_use_row(self: Fl_TerminalPtr, hurow: int) -> Fl_Terminal_Utf8CharPtr
extern def Fl_Terminal_u8c_ring_row(self: Fl_TerminalPtr, grow: int) -> Fl_Terminal_Utf8CharPtr
extern def Fl_Terminal_Utf8Char_size() -> bytes
extern def Fl_free_str(str_: str)
-620
View File
@@ -1,620 +0,0 @@
import t, c
from fltk._types import *
# ============================================================
# fltk/_cfl_text.vp — cfl_text.h 的 extern FFI 声明(对接 cfltk C API)
# ============================================================
# 所有函数直接对应 cfltk 生成的 C 符号(extern "C"),链接目标: cfltk2。
# 类型约定: Fl_* 对象均为不透明指针 (Fl_XxxPtr);const char* → str;
# 函数指针/void* → bytes(Viper 端传 0/NULL 或不使用)。
# ----- Fl_Text_Display (widget_declare) -----
extern def Fl_Text_Display_new(x: int, y: int, width: int, height: int, title: str) -> Fl_Text_DisplayPtr
extern def Fl_Text_Display_x(self: Fl_Text_DisplayPtr) -> int
extern def Fl_Text_Display_y(self: Fl_Text_DisplayPtr) -> int
extern def Fl_Text_Display_width(self: Fl_Text_DisplayPtr) -> int
extern def Fl_Text_Display_height(self: Fl_Text_DisplayPtr) -> int
extern def Fl_Text_Display_label(self: Fl_Text_DisplayPtr) -> str
extern def Fl_Text_Display_set_label(self: Fl_Text_DisplayPtr, title: str)
extern def Fl_Text_Display_redraw(self: Fl_Text_DisplayPtr)
extern def Fl_Text_Display_show(self: Fl_Text_DisplayPtr)
extern def Fl_Text_Display_hide(self: Fl_Text_DisplayPtr)
extern def Fl_Text_Display_activate(self: Fl_Text_DisplayPtr)
extern def Fl_Text_Display_deactivate(self: Fl_Text_DisplayPtr)
extern def Fl_Text_Display_redraw_label(self: Fl_Text_DisplayPtr)
extern def Fl_Text_Display_resize(self: Fl_Text_DisplayPtr, x: int, y: int, width: int, height: int)
extern def Fl_Text_Display_widget_resize(self: Fl_Text_DisplayPtr, x: int, y: int, width: int, height: int)
extern def Fl_Text_Display_tooltip(self: Fl_Text_DisplayPtr) -> str
extern def Fl_Text_Display_set_tooltip(self: Fl_Text_DisplayPtr, txt: str)
extern def Fl_Text_Display_get_type(self: Fl_Text_DisplayPtr) -> int
extern def Fl_Text_Display_set_type(self: Fl_Text_DisplayPtr, typ: int)
extern def Fl_Text_Display_color(self: Fl_Text_DisplayPtr) -> t.CUInt32T
extern def Fl_Text_Display_set_color(self: Fl_Text_DisplayPtr, color: t.CUInt32T)
extern def Fl_Text_Display_measure_label(self: Fl_Text_DisplayPtr, a1: bytes, a2: bytes)
extern def Fl_Text_Display_label_color(self: Fl_Text_DisplayPtr) -> t.CUInt32T
extern def Fl_Text_Display_set_label_color(self: Fl_Text_DisplayPtr, color: t.CUInt32T)
extern def Fl_Text_Display_label_font(self: Fl_Text_DisplayPtr) -> int
extern def Fl_Text_Display_set_label_font(self: Fl_Text_DisplayPtr, font: int)
extern def Fl_Text_Display_label_size(self: Fl_Text_DisplayPtr) -> int
extern def Fl_Text_Display_set_label_size(self: Fl_Text_DisplayPtr, sz: int)
extern def Fl_Text_Display_label_type(self: Fl_Text_DisplayPtr) -> int
extern def Fl_Text_Display_set_label_type(self: Fl_Text_DisplayPtr, typ: int)
extern def Fl_Text_Display_box(self: Fl_Text_DisplayPtr) -> int
extern def Fl_Text_Display_set_box(self: Fl_Text_DisplayPtr, typ: int)
extern def Fl_Text_Display_changed(self: Fl_Text_DisplayPtr) -> int
extern def Fl_Text_Display_set_changed(self: Fl_Text_DisplayPtr)
extern def Fl_Text_Display_clear_changed(self: Fl_Text_DisplayPtr)
extern def Fl_Text_Display_align(self: Fl_Text_DisplayPtr) -> int
extern def Fl_Text_Display_set_align(self: Fl_Text_DisplayPtr, typ: int)
extern def Fl_Text_Display_delete(self: Fl_Text_DisplayPtr)
extern def Fl_Text_Display_set_image(self: Fl_Text_DisplayPtr, a1: bytes)
extern def Fl_Text_Display_handle(self: Fl_Text_DisplayPtr, cb: bytes, data: bytes)
extern def Fl_Text_Display_handle_event(self: Fl_Text_DisplayPtr, event: int) -> int
extern def Fl_Text_Display_draw(self: Fl_Text_DisplayPtr, cb: bytes, data: bytes)
extern def Fl_Text_Display_resize_callback(self: Fl_Text_DisplayPtr, cb1: bytes, data: bytes)
extern def Fl_Text_Display_set_when(self: Fl_Text_DisplayPtr, a1: int)
extern def Fl_Text_Display_when(self: Fl_Text_DisplayPtr) -> int
extern def Fl_Text_Display_image(self: Fl_Text_DisplayPtr) -> bytes
extern def Fl_Text_Display_parent(self: Fl_Text_DisplayPtr) -> bytes
extern def Fl_Text_Display_selection_color(self: Fl_Text_DisplayPtr) -> t.CUInt32T
extern def Fl_Text_Display_set_selection_color(self: Fl_Text_DisplayPtr, color: t.CUInt32T)
extern def Fl_Text_Display_do_callback(self: Fl_Text_DisplayPtr)
extern def Fl_Text_Display_inside(self: Fl_Text_DisplayPtr, a1: bytes) -> int
extern def Fl_Text_Display_window(self: Fl_Text_DisplayPtr) -> bytes
extern def Fl_Text_Display_top_window(self: Fl_Text_DisplayPtr) -> bytes
extern def Fl_Text_Display_takes_events(self: Fl_Text_DisplayPtr) -> int
extern def Fl_Text_Display_user_data(self: Fl_Text_DisplayPtr) -> bytes
extern def Fl_Text_Display_take_focus(self: Fl_Text_DisplayPtr) -> int
extern def Fl_Text_Display_set_visible_focus(self: Fl_Text_DisplayPtr)
extern def Fl_Text_Display_clear_visible_focus(self: Fl_Text_DisplayPtr)
extern def Fl_Text_Display_visible_focus(self: Fl_Text_DisplayPtr, v: int)
extern def Fl_Text_Display_has_visible_focus(self: Fl_Text_DisplayPtr) -> t.CUInt32T
extern def Fl_Text_Display_set_user_data(self: Fl_Text_DisplayPtr, data: bytes)
extern def Fl_Text_Display_draw_data(self: Fl_Text_DisplayPtr) -> bytes
extern def Fl_Text_Display_handle_data(self: Fl_Text_DisplayPtr) -> bytes
extern def Fl_Text_Display_set_draw_data(self: Fl_Text_DisplayPtr, data: bytes)
extern def Fl_Text_Display_set_handle_data(self: Fl_Text_DisplayPtr, data: bytes)
extern def Fl_Text_Display_damage(self: Fl_Text_DisplayPtr) -> t.CUInt8T
extern def Fl_Text_Display_set_damage(self: Fl_Text_DisplayPtr, flag: t.CUInt8T)
extern def Fl_Text_Display_set_damage_area(self: Fl_Text_DisplayPtr, flag: t.CUInt8T, x: int, y: int, w: int, h: int)
extern def Fl_Text_Display_clear_damage(self: Fl_Text_DisplayPtr)
extern def Fl_Text_Display_as_window(self: Fl_Text_DisplayPtr) -> bytes
extern def Fl_Text_Display_as_group(self: Fl_Text_DisplayPtr) -> bytes
extern def Fl_Text_Display_set_deimage(self: Fl_Text_DisplayPtr, a1: bytes)
extern def Fl_Text_Display_deimage(self: Fl_Text_DisplayPtr) -> bytes
extern def Fl_Text_Display_set_callback(self: Fl_Text_DisplayPtr, a1: bytes, a2: bytes)
extern def Fl_Text_Display_visible(self: Fl_Text_DisplayPtr) -> int
extern def Fl_Text_Display_visible_r(self: Fl_Text_DisplayPtr) -> int
extern def Fl_Text_Display_active(self: Fl_Text_DisplayPtr) -> t.CUInt32T
extern def Fl_Text_Display_active_r(self: Fl_Text_DisplayPtr) -> int
extern def Fl_Text_Display_callback(self: Fl_Text_DisplayPtr) -> bytes
extern def Fl_Text_Display_set_deletion_callback(self: Fl_Text_DisplayPtr, cb1: bytes, data: bytes)
extern def Fl_Text_Display_from_dyn_ptr(ptr: Fl_WidgetPtr) -> Fl_Text_DisplayPtr
extern def Fl_Text_Display_from_derived_dyn_ptr(ptr: Fl_WidgetPtr) -> Fl_Text_DisplayPtr
extern def Fl_Text_Display_super_draw(ptr: Fl_WidgetPtr, flag: int)
extern def Fl_Text_Display_super_draw_first(ptr: Fl_WidgetPtr, flag: int)
extern def Fl_Text_Display_super_handle_first(ptr: Fl_WidgetPtr, flag: int)
# ----- Fl_Text_Display (display_declare) -----
extern def Fl_Text_Display_text_font(self: Fl_Text_DisplayPtr) -> int
extern def Fl_Text_Display_set_text_font(self: Fl_Text_DisplayPtr, s: int)
extern def Fl_Text_Display_text_size(self: Fl_Text_DisplayPtr) -> int
extern def Fl_Text_Display_set_text_size(self: Fl_Text_DisplayPtr, s: int)
extern def Fl_Text_Display_text_color(self: Fl_Text_DisplayPtr) -> t.CUInt32T
extern def Fl_Text_Display_set_text_color(self: Fl_Text_DisplayPtr, n: t.CUInt32T)
extern def Fl_Text_Display_scroll(self: Fl_Text_DisplayPtr, topLineNum: int, horizOffset: int)
extern def Fl_Text_Display_insert(self: Fl_Text_DisplayPtr, text: str)
extern def Fl_Text_Display_set_insert_position(self: Fl_Text_DisplayPtr, newPos: int)
extern def Fl_Text_Display_insert_position(self: Fl_Text_DisplayPtr) -> int
extern def Fl_Text_Display_position_to_xy(self: Fl_Text_DisplayPtr, pos: int, x: bytes, y: bytes) -> int
extern def Fl_Text_Display_count_lines(self: Fl_Text_DisplayPtr, start: int, end: int, start_pos_is_line_start: int) -> int
extern def Fl_Text_Display_move_right(self: Fl_Text_DisplayPtr) -> int
extern def Fl_Text_Display_move_left(self: Fl_Text_DisplayPtr) -> int
extern def Fl_Text_Display_move_up(self: Fl_Text_DisplayPtr) -> int
extern def Fl_Text_Display_move_down(self: Fl_Text_DisplayPtr) -> int
extern def Fl_Text_Display_show_cursor(self: Fl_Text_DisplayPtr, boolean: int)
extern def Fl_Text_Display_set_highlight_data(self: Fl_Text_DisplayPtr, sbuff: bytes, color: bytes, font: bytes, fontsz: bytes, attr: bytes, bgcolor: bytes, sz: int)
extern def Fl_Text_Display_set_cursor_style(self: Fl_Text_DisplayPtr, style: int)
extern def Fl_Text_Display_set_cursor_color(self: Fl_Text_DisplayPtr, color: t.CUInt32T)
extern def Fl_Text_Display_set_scrollbar_size(self: Fl_Text_DisplayPtr, newSize: int)
extern def Fl_Text_Display_set_scrollbar_align(self: Fl_Text_DisplayPtr, align: int)
extern def Fl_Text_Display_cursor_style(self: Fl_Text_DisplayPtr) -> int
extern def Fl_Text_Display_cursor_color(self: Fl_Text_DisplayPtr) -> t.CUInt32T
extern def Fl_Text_Display_scrollbar_size(self: Fl_Text_DisplayPtr) -> int
extern def Fl_Text_Display_scrollbar_align(self: Fl_Text_DisplayPtr) -> int
extern def Fl_Text_Display_line_start(self: Fl_Text_DisplayPtr, pos: int) -> int
extern def Fl_Text_Display_line_end(self: Fl_Text_DisplayPtr, startPos: int, startPosIsLineStart: int) -> int
extern def Fl_Text_Display_skip_lines(self: Fl_Text_DisplayPtr, startPos: int, nLines: int, startPosIsLineStart: int) -> int
extern def Fl_Text_Display_rewind_lines(self: Fl_Text_DisplayPtr, startPos: int, nLines: int) -> int
extern def Fl_Text_Display_next_word(self: Fl_Text_DisplayPtr)
extern def Fl_Text_Display_previous_word(self: Fl_Text_DisplayPtr)
extern def Fl_Text_Display_word_start(self: Fl_Text_DisplayPtr, pos: int) -> int
extern def Fl_Text_Display_word_end(self: Fl_Text_DisplayPtr, pos: int) -> int
extern def Fl_Text_Display_x_to_col(self: Fl_Text_DisplayPtr, x: t.CDouble) -> t.CDouble
extern def Fl_Text_Display_col_to_x(self: Fl_Text_DisplayPtr, col: t.CDouble) -> t.CDouble
extern def Fl_Text_Display_set_linenumber_width(self: Fl_Text_DisplayPtr, width: int)
extern def Fl_Text_Display_linenumber_width(self: Fl_Text_DisplayPtr) -> int
extern def Fl_Text_Display_set_linenumber_font(self: Fl_Text_DisplayPtr, val: int)
extern def Fl_Text_Display_linenumber_font(self: Fl_Text_DisplayPtr) -> int
extern def Fl_Text_Display_set_linenumber_size(self: Fl_Text_DisplayPtr, val: int)
extern def Fl_Text_Display_linenumber_size(self: Fl_Text_DisplayPtr) -> int
extern def Fl_Text_Display_set_linenumber_fgcolor(self: Fl_Text_DisplayPtr, val: t.CUInt32T)
extern def Fl_Text_Display_linenumber_fgcolor(self: Fl_Text_DisplayPtr) -> t.CUInt32T
extern def Fl_Text_Display_set_linenumber_bgcolor(self: Fl_Text_DisplayPtr, val: t.CUInt32T)
extern def Fl_Text_Display_linenumber_bgcolor(self: Fl_Text_DisplayPtr) -> t.CUInt32T
extern def Fl_Text_Display_set_linenumber_align(self: Fl_Text_DisplayPtr, val: int)
extern def Fl_Text_Display_linenumber_align(self: Fl_Text_DisplayPtr) -> int
extern def Fl_Text_Display_in_selection(self: Fl_Text_DisplayPtr, x: int, y: int) -> int
extern def Fl_Text_Display_wrap_mode(self: Fl_Text_DisplayPtr, wrap: int, wrap_margin: int)
extern def Fl_Text_Display_wrapped_column(self: Fl_Text_DisplayPtr, row: int, column: int) -> int
extern def Fl_Text_Display_wrapped_row(self: Fl_Text_DisplayPtr, row: int) -> int
extern def Fl_Text_Display_set_grammar_underline_color(self: Fl_Text_DisplayPtr, color: t.CUInt32T)
extern def Fl_Text_Display_grammar_underline_color(self: Fl_Text_DisplayPtr) -> t.CUInt32T
extern def Fl_Text_Display_set_spelling_underline_color(self: Fl_Text_DisplayPtr, color: t.CUInt32T)
extern def Fl_Text_Display_spelling_underline_color(self: Fl_Text_DisplayPtr) -> t.CUInt32T
extern def Fl_Text_Display_set_secondary_selection_color(self: Fl_Text_DisplayPtr, color: t.CUInt32T)
extern def Fl_Text_Display_secondary_selection_color(self: Fl_Text_DisplayPtr) -> t.CUInt32T
extern def Fl_Text_Display_show_insert_position(self: Fl_Text_DisplayPtr)
extern def Fl_Text_Display_overstrike(self: Fl_Text_DisplayPtr, text: str)
extern def Fl_Text_Display_redisplay_range(self: Fl_Text_DisplayPtr, start: int, end: int)
extern def Fl_Text_Display_set_linenumber_format(self: Fl_Text_DisplayPtr, val: str)
extern def Fl_Text_Display_linenumber_format(self: Fl_Text_DisplayPtr) -> str
extern def Fl_Text_Display_position_style(self: Fl_Text_DisplayPtr, lineStartPos: int, lineLen: int, lineIndex: int) -> int
extern def Fl_Text_Display_maintain_absolute_top_line_number(self: Fl_Text_DisplayPtr, state: int)
extern def Fl_Text_Display_get_absolute_top_line_number(self: Fl_Text_DisplayPtr) -> int
extern def Fl_Text_Display_absolute_top_line_number(self: Fl_Text_DisplayPtr, oldFirstChar: int)
extern def Fl_Text_Display_maintaining_absolute_top_line_number(self: Fl_Text_DisplayPtr) -> int
extern def Fl_Text_Display_reset_absolute_top_line_number(self: Fl_Text_DisplayPtr)
extern def Fl_Text_Display_scroll_row(self: Fl_Text_DisplayPtr) -> int
extern def Fl_Text_Display_scroll_col(self: Fl_Text_DisplayPtr) -> int
extern def Fl_Text_Display_xy_to_position(self: Fl_Text_DisplayPtr, x: int, y: int, PosType: int) -> int
extern def Fl_Text_Display_xy_to_rowcol(self: Fl_Text_DisplayPtr, x: int, y: int, row: bytes, column: bytes, PosType: int)
# ----- Fl_Text_Editor (widget_declare) -----
extern def Fl_Text_Editor_new(x: int, y: int, width: int, height: int, title: str) -> Fl_Text_EditorPtr
extern def Fl_Text_Editor_x(self: Fl_Text_EditorPtr) -> int
extern def Fl_Text_Editor_y(self: Fl_Text_EditorPtr) -> int
extern def Fl_Text_Editor_width(self: Fl_Text_EditorPtr) -> int
extern def Fl_Text_Editor_height(self: Fl_Text_EditorPtr) -> int
extern def Fl_Text_Editor_label(self: Fl_Text_EditorPtr) -> str
extern def Fl_Text_Editor_set_label(self: Fl_Text_EditorPtr, title: str)
extern def Fl_Text_Editor_redraw(self: Fl_Text_EditorPtr)
extern def Fl_Text_Editor_show(self: Fl_Text_EditorPtr)
extern def Fl_Text_Editor_hide(self: Fl_Text_EditorPtr)
extern def Fl_Text_Editor_activate(self: Fl_Text_EditorPtr)
extern def Fl_Text_Editor_deactivate(self: Fl_Text_EditorPtr)
extern def Fl_Text_Editor_redraw_label(self: Fl_Text_EditorPtr)
extern def Fl_Text_Editor_resize(self: Fl_Text_EditorPtr, x: int, y: int, width: int, height: int)
extern def Fl_Text_Editor_widget_resize(self: Fl_Text_EditorPtr, x: int, y: int, width: int, height: int)
extern def Fl_Text_Editor_tooltip(self: Fl_Text_EditorPtr) -> str
extern def Fl_Text_Editor_set_tooltip(self: Fl_Text_EditorPtr, txt: str)
extern def Fl_Text_Editor_get_type(self: Fl_Text_EditorPtr) -> int
extern def Fl_Text_Editor_set_type(self: Fl_Text_EditorPtr, typ: int)
extern def Fl_Text_Editor_color(self: Fl_Text_EditorPtr) -> t.CUInt32T
extern def Fl_Text_Editor_set_color(self: Fl_Text_EditorPtr, color: t.CUInt32T)
extern def Fl_Text_Editor_measure_label(self: Fl_Text_EditorPtr, a1: bytes, a2: bytes)
extern def Fl_Text_Editor_label_color(self: Fl_Text_EditorPtr) -> t.CUInt32T
extern def Fl_Text_Editor_set_label_color(self: Fl_Text_EditorPtr, color: t.CUInt32T)
extern def Fl_Text_Editor_label_font(self: Fl_Text_EditorPtr) -> int
extern def Fl_Text_Editor_set_label_font(self: Fl_Text_EditorPtr, font: int)
extern def Fl_Text_Editor_label_size(self: Fl_Text_EditorPtr) -> int
extern def Fl_Text_Editor_set_label_size(self: Fl_Text_EditorPtr, sz: int)
extern def Fl_Text_Editor_label_type(self: Fl_Text_EditorPtr) -> int
extern def Fl_Text_Editor_set_label_type(self: Fl_Text_EditorPtr, typ: int)
extern def Fl_Text_Editor_box(self: Fl_Text_EditorPtr) -> int
extern def Fl_Text_Editor_set_box(self: Fl_Text_EditorPtr, typ: int)
extern def Fl_Text_Editor_changed(self: Fl_Text_EditorPtr) -> int
extern def Fl_Text_Editor_set_changed(self: Fl_Text_EditorPtr)
extern def Fl_Text_Editor_clear_changed(self: Fl_Text_EditorPtr)
extern def Fl_Text_Editor_align(self: Fl_Text_EditorPtr) -> int
extern def Fl_Text_Editor_set_align(self: Fl_Text_EditorPtr, typ: int)
extern def Fl_Text_Editor_delete(self: Fl_Text_EditorPtr)
extern def Fl_Text_Editor_set_image(self: Fl_Text_EditorPtr, a1: bytes)
extern def Fl_Text_Editor_handle(self: Fl_Text_EditorPtr, cb: bytes, data: bytes)
extern def Fl_Text_Editor_handle_event(self: Fl_Text_EditorPtr, event: int) -> int
extern def Fl_Text_Editor_draw(self: Fl_Text_EditorPtr, cb: bytes, data: bytes)
extern def Fl_Text_Editor_resize_callback(self: Fl_Text_EditorPtr, cb1: bytes, data: bytes)
extern def Fl_Text_Editor_set_when(self: Fl_Text_EditorPtr, a1: int)
extern def Fl_Text_Editor_when(self: Fl_Text_EditorPtr) -> int
extern def Fl_Text_Editor_image(self: Fl_Text_EditorPtr) -> bytes
extern def Fl_Text_Editor_parent(self: Fl_Text_EditorPtr) -> bytes
extern def Fl_Text_Editor_selection_color(self: Fl_Text_EditorPtr) -> t.CUInt32T
extern def Fl_Text_Editor_set_selection_color(self: Fl_Text_EditorPtr, color: t.CUInt32T)
extern def Fl_Text_Editor_do_callback(self: Fl_Text_EditorPtr)
extern def Fl_Text_Editor_inside(self: Fl_Text_EditorPtr, a1: bytes) -> int
extern def Fl_Text_Editor_window(self: Fl_Text_EditorPtr) -> bytes
extern def Fl_Text_Editor_top_window(self: Fl_Text_EditorPtr) -> bytes
extern def Fl_Text_Editor_takes_events(self: Fl_Text_EditorPtr) -> int
extern def Fl_Text_Editor_user_data(self: Fl_Text_EditorPtr) -> bytes
extern def Fl_Text_Editor_take_focus(self: Fl_Text_EditorPtr) -> int
extern def Fl_Text_Editor_set_visible_focus(self: Fl_Text_EditorPtr)
extern def Fl_Text_Editor_clear_visible_focus(self: Fl_Text_EditorPtr)
extern def Fl_Text_Editor_visible_focus(self: Fl_Text_EditorPtr, v: int)
extern def Fl_Text_Editor_has_visible_focus(self: Fl_Text_EditorPtr) -> t.CUInt32T
extern def Fl_Text_Editor_set_user_data(self: Fl_Text_EditorPtr, data: bytes)
extern def Fl_Text_Editor_draw_data(self: Fl_Text_EditorPtr) -> bytes
extern def Fl_Text_Editor_handle_data(self: Fl_Text_EditorPtr) -> bytes
extern def Fl_Text_Editor_set_draw_data(self: Fl_Text_EditorPtr, data: bytes)
extern def Fl_Text_Editor_set_handle_data(self: Fl_Text_EditorPtr, data: bytes)
extern def Fl_Text_Editor_damage(self: Fl_Text_EditorPtr) -> t.CUInt8T
extern def Fl_Text_Editor_set_damage(self: Fl_Text_EditorPtr, flag: t.CUInt8T)
extern def Fl_Text_Editor_set_damage_area(self: Fl_Text_EditorPtr, flag: t.CUInt8T, x: int, y: int, w: int, h: int)
extern def Fl_Text_Editor_clear_damage(self: Fl_Text_EditorPtr)
extern def Fl_Text_Editor_as_window(self: Fl_Text_EditorPtr) -> bytes
extern def Fl_Text_Editor_as_group(self: Fl_Text_EditorPtr) -> bytes
extern def Fl_Text_Editor_set_deimage(self: Fl_Text_EditorPtr, a1: bytes)
extern def Fl_Text_Editor_deimage(self: Fl_Text_EditorPtr) -> bytes
extern def Fl_Text_Editor_set_callback(self: Fl_Text_EditorPtr, a1: bytes, a2: bytes)
extern def Fl_Text_Editor_visible(self: Fl_Text_EditorPtr) -> int
extern def Fl_Text_Editor_visible_r(self: Fl_Text_EditorPtr) -> int
extern def Fl_Text_Editor_active(self: Fl_Text_EditorPtr) -> t.CUInt32T
extern def Fl_Text_Editor_active_r(self: Fl_Text_EditorPtr) -> int
extern def Fl_Text_Editor_callback(self: Fl_Text_EditorPtr) -> bytes
extern def Fl_Text_Editor_set_deletion_callback(self: Fl_Text_EditorPtr, cb1: bytes, data: bytes)
extern def Fl_Text_Editor_from_dyn_ptr(ptr: Fl_WidgetPtr) -> Fl_Text_EditorPtr
extern def Fl_Text_Editor_from_derived_dyn_ptr(ptr: Fl_WidgetPtr) -> Fl_Text_EditorPtr
extern def Fl_Text_Editor_super_draw(ptr: Fl_WidgetPtr, flag: int)
extern def Fl_Text_Editor_super_draw_first(ptr: Fl_WidgetPtr, flag: int)
extern def Fl_Text_Editor_super_handle_first(ptr: Fl_WidgetPtr, flag: int)
# ----- Fl_Text_Editor (display_declare) -----
extern def Fl_Text_Editor_text_font(self: Fl_Text_EditorPtr) -> int
extern def Fl_Text_Editor_set_text_font(self: Fl_Text_EditorPtr, s: int)
extern def Fl_Text_Editor_text_size(self: Fl_Text_EditorPtr) -> int
extern def Fl_Text_Editor_set_text_size(self: Fl_Text_EditorPtr, s: int)
extern def Fl_Text_Editor_text_color(self: Fl_Text_EditorPtr) -> t.CUInt32T
extern def Fl_Text_Editor_set_text_color(self: Fl_Text_EditorPtr, n: t.CUInt32T)
extern def Fl_Text_Editor_scroll(self: Fl_Text_EditorPtr, topLineNum: int, horizOffset: int)
extern def Fl_Text_Editor_insert(self: Fl_Text_EditorPtr, text: str)
extern def Fl_Text_Editor_set_insert_position(self: Fl_Text_EditorPtr, newPos: int)
extern def Fl_Text_Editor_insert_position(self: Fl_Text_EditorPtr) -> int
extern def Fl_Text_Editor_position_to_xy(self: Fl_Text_EditorPtr, pos: int, x: bytes, y: bytes) -> int
extern def Fl_Text_Editor_count_lines(self: Fl_Text_EditorPtr, start: int, end: int, start_pos_is_line_start: int) -> int
extern def Fl_Text_Editor_move_right(self: Fl_Text_EditorPtr) -> int
extern def Fl_Text_Editor_move_left(self: Fl_Text_EditorPtr) -> int
extern def Fl_Text_Editor_move_up(self: Fl_Text_EditorPtr) -> int
extern def Fl_Text_Editor_move_down(self: Fl_Text_EditorPtr) -> int
extern def Fl_Text_Editor_show_cursor(self: Fl_Text_EditorPtr, boolean: int)
extern def Fl_Text_Editor_set_highlight_data(self: Fl_Text_EditorPtr, sbuff: bytes, color: bytes, font: bytes, fontsz: bytes, attr: bytes, bgcolor: bytes, sz: int)
extern def Fl_Text_Editor_set_cursor_style(self: Fl_Text_EditorPtr, style: int)
extern def Fl_Text_Editor_set_cursor_color(self: Fl_Text_EditorPtr, color: t.CUInt32T)
extern def Fl_Text_Editor_set_scrollbar_size(self: Fl_Text_EditorPtr, newSize: int)
extern def Fl_Text_Editor_set_scrollbar_align(self: Fl_Text_EditorPtr, align: int)
extern def Fl_Text_Editor_cursor_style(self: Fl_Text_EditorPtr) -> int
extern def Fl_Text_Editor_cursor_color(self: Fl_Text_EditorPtr) -> t.CUInt32T
extern def Fl_Text_Editor_scrollbar_size(self: Fl_Text_EditorPtr) -> int
extern def Fl_Text_Editor_scrollbar_align(self: Fl_Text_EditorPtr) -> int
extern def Fl_Text_Editor_line_start(self: Fl_Text_EditorPtr, pos: int) -> int
extern def Fl_Text_Editor_line_end(self: Fl_Text_EditorPtr, startPos: int, startPosIsLineStart: int) -> int
extern def Fl_Text_Editor_skip_lines(self: Fl_Text_EditorPtr, startPos: int, nLines: int, startPosIsLineStart: int) -> int
extern def Fl_Text_Editor_rewind_lines(self: Fl_Text_EditorPtr, startPos: int, nLines: int) -> int
extern def Fl_Text_Editor_next_word(self: Fl_Text_EditorPtr)
extern def Fl_Text_Editor_previous_word(self: Fl_Text_EditorPtr)
extern def Fl_Text_Editor_word_start(self: Fl_Text_EditorPtr, pos: int) -> int
extern def Fl_Text_Editor_word_end(self: Fl_Text_EditorPtr, pos: int) -> int
extern def Fl_Text_Editor_x_to_col(self: Fl_Text_EditorPtr, x: t.CDouble) -> t.CDouble
extern def Fl_Text_Editor_col_to_x(self: Fl_Text_EditorPtr, col: t.CDouble) -> t.CDouble
extern def Fl_Text_Editor_set_linenumber_width(self: Fl_Text_EditorPtr, width: int)
extern def Fl_Text_Editor_linenumber_width(self: Fl_Text_EditorPtr) -> int
extern def Fl_Text_Editor_set_linenumber_font(self: Fl_Text_EditorPtr, val: int)
extern def Fl_Text_Editor_linenumber_font(self: Fl_Text_EditorPtr) -> int
extern def Fl_Text_Editor_set_linenumber_size(self: Fl_Text_EditorPtr, val: int)
extern def Fl_Text_Editor_linenumber_size(self: Fl_Text_EditorPtr) -> int
extern def Fl_Text_Editor_set_linenumber_fgcolor(self: Fl_Text_EditorPtr, val: t.CUInt32T)
extern def Fl_Text_Editor_linenumber_fgcolor(self: Fl_Text_EditorPtr) -> t.CUInt32T
extern def Fl_Text_Editor_set_linenumber_bgcolor(self: Fl_Text_EditorPtr, val: t.CUInt32T)
extern def Fl_Text_Editor_linenumber_bgcolor(self: Fl_Text_EditorPtr) -> t.CUInt32T
extern def Fl_Text_Editor_set_linenumber_align(self: Fl_Text_EditorPtr, val: int)
extern def Fl_Text_Editor_linenumber_align(self: Fl_Text_EditorPtr) -> int
extern def Fl_Text_Editor_in_selection(self: Fl_Text_EditorPtr, x: int, y: int) -> int
extern def Fl_Text_Editor_wrap_mode(self: Fl_Text_EditorPtr, wrap: int, wrap_margin: int)
extern def Fl_Text_Editor_wrapped_column(self: Fl_Text_EditorPtr, row: int, column: int) -> int
extern def Fl_Text_Editor_wrapped_row(self: Fl_Text_EditorPtr, row: int) -> int
extern def Fl_Text_Editor_set_grammar_underline_color(self: Fl_Text_EditorPtr, color: t.CUInt32T)
extern def Fl_Text_Editor_grammar_underline_color(self: Fl_Text_EditorPtr) -> t.CUInt32T
extern def Fl_Text_Editor_set_spelling_underline_color(self: Fl_Text_EditorPtr, color: t.CUInt32T)
extern def Fl_Text_Editor_spelling_underline_color(self: Fl_Text_EditorPtr) -> t.CUInt32T
extern def Fl_Text_Editor_set_secondary_selection_color(self: Fl_Text_EditorPtr, color: t.CUInt32T)
extern def Fl_Text_Editor_secondary_selection_color(self: Fl_Text_EditorPtr) -> t.CUInt32T
extern def Fl_Text_Editor_show_insert_position(self: Fl_Text_EditorPtr)
extern def Fl_Text_Editor_overstrike(self: Fl_Text_EditorPtr, text: str)
extern def Fl_Text_Editor_redisplay_range(self: Fl_Text_EditorPtr, start: int, end: int)
extern def Fl_Text_Editor_set_linenumber_format(self: Fl_Text_EditorPtr, val: str)
extern def Fl_Text_Editor_linenumber_format(self: Fl_Text_EditorPtr) -> str
extern def Fl_Text_Editor_position_style(self: Fl_Text_EditorPtr, lineStartPos: int, lineLen: int, lineIndex: int) -> int
extern def Fl_Text_Editor_maintain_absolute_top_line_number(self: Fl_Text_EditorPtr, state: int)
extern def Fl_Text_Editor_get_absolute_top_line_number(self: Fl_Text_EditorPtr) -> int
extern def Fl_Text_Editor_absolute_top_line_number(self: Fl_Text_EditorPtr, oldFirstChar: int)
extern def Fl_Text_Editor_maintaining_absolute_top_line_number(self: Fl_Text_EditorPtr) -> int
extern def Fl_Text_Editor_reset_absolute_top_line_number(self: Fl_Text_EditorPtr)
extern def Fl_Text_Editor_scroll_row(self: Fl_Text_EditorPtr) -> int
extern def Fl_Text_Editor_scroll_col(self: Fl_Text_EditorPtr) -> int
extern def Fl_Text_Editor_xy_to_position(self: Fl_Text_EditorPtr, x: int, y: int, PosType: int) -> int
extern def Fl_Text_Editor_xy_to_rowcol(self: Fl_Text_EditorPtr, x: int, y: int, row: bytes, column: bytes, PosType: int)
# ----- Fl_Simple_Terminal (widget_declare) -----
extern def Fl_Simple_Terminal_new(x: int, y: int, width: int, height: int, title: str) -> Fl_Simple_TerminalPtr
extern def Fl_Simple_Terminal_x(self: Fl_Simple_TerminalPtr) -> int
extern def Fl_Simple_Terminal_y(self: Fl_Simple_TerminalPtr) -> int
extern def Fl_Simple_Terminal_width(self: Fl_Simple_TerminalPtr) -> int
extern def Fl_Simple_Terminal_height(self: Fl_Simple_TerminalPtr) -> int
extern def Fl_Simple_Terminal_label(self: Fl_Simple_TerminalPtr) -> str
extern def Fl_Simple_Terminal_set_label(self: Fl_Simple_TerminalPtr, title: str)
extern def Fl_Simple_Terminal_redraw(self: Fl_Simple_TerminalPtr)
extern def Fl_Simple_Terminal_show(self: Fl_Simple_TerminalPtr)
extern def Fl_Simple_Terminal_hide(self: Fl_Simple_TerminalPtr)
extern def Fl_Simple_Terminal_activate(self: Fl_Simple_TerminalPtr)
extern def Fl_Simple_Terminal_deactivate(self: Fl_Simple_TerminalPtr)
extern def Fl_Simple_Terminal_redraw_label(self: Fl_Simple_TerminalPtr)
extern def Fl_Simple_Terminal_resize(self: Fl_Simple_TerminalPtr, x: int, y: int, width: int, height: int)
extern def Fl_Simple_Terminal_widget_resize(self: Fl_Simple_TerminalPtr, x: int, y: int, width: int, height: int)
extern def Fl_Simple_Terminal_tooltip(self: Fl_Simple_TerminalPtr) -> str
extern def Fl_Simple_Terminal_set_tooltip(self: Fl_Simple_TerminalPtr, txt: str)
extern def Fl_Simple_Terminal_get_type(self: Fl_Simple_TerminalPtr) -> int
extern def Fl_Simple_Terminal_set_type(self: Fl_Simple_TerminalPtr, typ: int)
extern def Fl_Simple_Terminal_color(self: Fl_Simple_TerminalPtr) -> t.CUInt32T
extern def Fl_Simple_Terminal_set_color(self: Fl_Simple_TerminalPtr, color: t.CUInt32T)
extern def Fl_Simple_Terminal_measure_label(self: Fl_Simple_TerminalPtr, a1: bytes, a2: bytes)
extern def Fl_Simple_Terminal_label_color(self: Fl_Simple_TerminalPtr) -> t.CUInt32T
extern def Fl_Simple_Terminal_set_label_color(self: Fl_Simple_TerminalPtr, color: t.CUInt32T)
extern def Fl_Simple_Terminal_label_font(self: Fl_Simple_TerminalPtr) -> int
extern def Fl_Simple_Terminal_set_label_font(self: Fl_Simple_TerminalPtr, font: int)
extern def Fl_Simple_Terminal_label_size(self: Fl_Simple_TerminalPtr) -> int
extern def Fl_Simple_Terminal_set_label_size(self: Fl_Simple_TerminalPtr, sz: int)
extern def Fl_Simple_Terminal_label_type(self: Fl_Simple_TerminalPtr) -> int
extern def Fl_Simple_Terminal_set_label_type(self: Fl_Simple_TerminalPtr, typ: int)
extern def Fl_Simple_Terminal_box(self: Fl_Simple_TerminalPtr) -> int
extern def Fl_Simple_Terminal_set_box(self: Fl_Simple_TerminalPtr, typ: int)
extern def Fl_Simple_Terminal_changed(self: Fl_Simple_TerminalPtr) -> int
extern def Fl_Simple_Terminal_set_changed(self: Fl_Simple_TerminalPtr)
extern def Fl_Simple_Terminal_clear_changed(self: Fl_Simple_TerminalPtr)
extern def Fl_Simple_Terminal_align(self: Fl_Simple_TerminalPtr) -> int
extern def Fl_Simple_Terminal_set_align(self: Fl_Simple_TerminalPtr, typ: int)
extern def Fl_Simple_Terminal_delete(self: Fl_Simple_TerminalPtr)
extern def Fl_Simple_Terminal_set_image(self: Fl_Simple_TerminalPtr, a1: bytes)
extern def Fl_Simple_Terminal_handle(self: Fl_Simple_TerminalPtr, cb: bytes, data: bytes)
extern def Fl_Simple_Terminal_handle_event(self: Fl_Simple_TerminalPtr, event: int) -> int
extern def Fl_Simple_Terminal_draw(self: Fl_Simple_TerminalPtr, cb: bytes, data: bytes)
extern def Fl_Simple_Terminal_resize_callback(self: Fl_Simple_TerminalPtr, cb1: bytes, data: bytes)
extern def Fl_Simple_Terminal_set_when(self: Fl_Simple_TerminalPtr, a1: int)
extern def Fl_Simple_Terminal_when(self: Fl_Simple_TerminalPtr) -> int
extern def Fl_Simple_Terminal_image(self: Fl_Simple_TerminalPtr) -> bytes
extern def Fl_Simple_Terminal_parent(self: Fl_Simple_TerminalPtr) -> bytes
extern def Fl_Simple_Terminal_selection_color(self: Fl_Simple_TerminalPtr) -> t.CUInt32T
extern def Fl_Simple_Terminal_set_selection_color(self: Fl_Simple_TerminalPtr, color: t.CUInt32T)
extern def Fl_Simple_Terminal_do_callback(self: Fl_Simple_TerminalPtr)
extern def Fl_Simple_Terminal_inside(self: Fl_Simple_TerminalPtr, a1: bytes) -> int
extern def Fl_Simple_Terminal_window(self: Fl_Simple_TerminalPtr) -> bytes
extern def Fl_Simple_Terminal_top_window(self: Fl_Simple_TerminalPtr) -> bytes
extern def Fl_Simple_Terminal_takes_events(self: Fl_Simple_TerminalPtr) -> int
extern def Fl_Simple_Terminal_user_data(self: Fl_Simple_TerminalPtr) -> bytes
extern def Fl_Simple_Terminal_take_focus(self: Fl_Simple_TerminalPtr) -> int
extern def Fl_Simple_Terminal_set_visible_focus(self: Fl_Simple_TerminalPtr)
extern def Fl_Simple_Terminal_clear_visible_focus(self: Fl_Simple_TerminalPtr)
extern def Fl_Simple_Terminal_visible_focus(self: Fl_Simple_TerminalPtr, v: int)
extern def Fl_Simple_Terminal_has_visible_focus(self: Fl_Simple_TerminalPtr) -> t.CUInt32T
extern def Fl_Simple_Terminal_set_user_data(self: Fl_Simple_TerminalPtr, data: bytes)
extern def Fl_Simple_Terminal_draw_data(self: Fl_Simple_TerminalPtr) -> bytes
extern def Fl_Simple_Terminal_handle_data(self: Fl_Simple_TerminalPtr) -> bytes
extern def Fl_Simple_Terminal_set_draw_data(self: Fl_Simple_TerminalPtr, data: bytes)
extern def Fl_Simple_Terminal_set_handle_data(self: Fl_Simple_TerminalPtr, data: bytes)
extern def Fl_Simple_Terminal_damage(self: Fl_Simple_TerminalPtr) -> t.CUInt8T
extern def Fl_Simple_Terminal_set_damage(self: Fl_Simple_TerminalPtr, flag: t.CUInt8T)
extern def Fl_Simple_Terminal_set_damage_area(self: Fl_Simple_TerminalPtr, flag: t.CUInt8T, x: int, y: int, w: int, h: int)
extern def Fl_Simple_Terminal_clear_damage(self: Fl_Simple_TerminalPtr)
extern def Fl_Simple_Terminal_as_window(self: Fl_Simple_TerminalPtr) -> bytes
extern def Fl_Simple_Terminal_as_group(self: Fl_Simple_TerminalPtr) -> bytes
extern def Fl_Simple_Terminal_set_deimage(self: Fl_Simple_TerminalPtr, a1: bytes)
extern def Fl_Simple_Terminal_deimage(self: Fl_Simple_TerminalPtr) -> bytes
extern def Fl_Simple_Terminal_set_callback(self: Fl_Simple_TerminalPtr, a1: bytes, a2: bytes)
extern def Fl_Simple_Terminal_visible(self: Fl_Simple_TerminalPtr) -> int
extern def Fl_Simple_Terminal_visible_r(self: Fl_Simple_TerminalPtr) -> int
extern def Fl_Simple_Terminal_active(self: Fl_Simple_TerminalPtr) -> t.CUInt32T
extern def Fl_Simple_Terminal_active_r(self: Fl_Simple_TerminalPtr) -> int
extern def Fl_Simple_Terminal_callback(self: Fl_Simple_TerminalPtr) -> bytes
extern def Fl_Simple_Terminal_set_deletion_callback(self: Fl_Simple_TerminalPtr, cb1: bytes, data: bytes)
extern def Fl_Simple_Terminal_from_dyn_ptr(ptr: Fl_WidgetPtr) -> Fl_Simple_TerminalPtr
extern def Fl_Simple_Terminal_from_derived_dyn_ptr(ptr: Fl_WidgetPtr) -> Fl_Simple_TerminalPtr
extern def Fl_Simple_Terminal_super_draw(ptr: Fl_WidgetPtr, flag: int)
extern def Fl_Simple_Terminal_super_draw_first(ptr: Fl_WidgetPtr, flag: int)
extern def Fl_Simple_Terminal_super_handle_first(ptr: Fl_WidgetPtr, flag: int)
# ----- Fl_Simple_Terminal (display_declare) -----
extern def Fl_Simple_Terminal_text_font(self: Fl_Simple_TerminalPtr) -> int
extern def Fl_Simple_Terminal_set_text_font(self: Fl_Simple_TerminalPtr, s: int)
extern def Fl_Simple_Terminal_text_size(self: Fl_Simple_TerminalPtr) -> int
extern def Fl_Simple_Terminal_set_text_size(self: Fl_Simple_TerminalPtr, s: int)
extern def Fl_Simple_Terminal_text_color(self: Fl_Simple_TerminalPtr) -> t.CUInt32T
extern def Fl_Simple_Terminal_set_text_color(self: Fl_Simple_TerminalPtr, n: t.CUInt32T)
extern def Fl_Simple_Terminal_scroll(self: Fl_Simple_TerminalPtr, topLineNum: int, horizOffset: int)
extern def Fl_Simple_Terminal_insert(self: Fl_Simple_TerminalPtr, text: str)
extern def Fl_Simple_Terminal_set_insert_position(self: Fl_Simple_TerminalPtr, newPos: int)
extern def Fl_Simple_Terminal_insert_position(self: Fl_Simple_TerminalPtr) -> int
extern def Fl_Simple_Terminal_position_to_xy(self: Fl_Simple_TerminalPtr, pos: int, x: bytes, y: bytes) -> int
extern def Fl_Simple_Terminal_count_lines(self: Fl_Simple_TerminalPtr, start: int, end: int, start_pos_is_line_start: int) -> int
extern def Fl_Simple_Terminal_move_right(self: Fl_Simple_TerminalPtr) -> int
extern def Fl_Simple_Terminal_move_left(self: Fl_Simple_TerminalPtr) -> int
extern def Fl_Simple_Terminal_move_up(self: Fl_Simple_TerminalPtr) -> int
extern def Fl_Simple_Terminal_move_down(self: Fl_Simple_TerminalPtr) -> int
extern def Fl_Simple_Terminal_show_cursor(self: Fl_Simple_TerminalPtr, boolean: int)
extern def Fl_Simple_Terminal_set_highlight_data(self: Fl_Simple_TerminalPtr, sbuff: bytes, color: bytes, font: bytes, fontsz: bytes, attr: bytes, bgcolor: bytes, sz: int)
extern def Fl_Simple_Terminal_set_cursor_style(self: Fl_Simple_TerminalPtr, style: int)
extern def Fl_Simple_Terminal_set_cursor_color(self: Fl_Simple_TerminalPtr, color: t.CUInt32T)
extern def Fl_Simple_Terminal_set_scrollbar_size(self: Fl_Simple_TerminalPtr, newSize: int)
extern def Fl_Simple_Terminal_set_scrollbar_align(self: Fl_Simple_TerminalPtr, align: int)
extern def Fl_Simple_Terminal_cursor_style(self: Fl_Simple_TerminalPtr) -> int
extern def Fl_Simple_Terminal_cursor_color(self: Fl_Simple_TerminalPtr) -> t.CUInt32T
extern def Fl_Simple_Terminal_scrollbar_size(self: Fl_Simple_TerminalPtr) -> int
extern def Fl_Simple_Terminal_scrollbar_align(self: Fl_Simple_TerminalPtr) -> int
extern def Fl_Simple_Terminal_line_start(self: Fl_Simple_TerminalPtr, pos: int) -> int
extern def Fl_Simple_Terminal_line_end(self: Fl_Simple_TerminalPtr, startPos: int, startPosIsLineStart: int) -> int
extern def Fl_Simple_Terminal_skip_lines(self: Fl_Simple_TerminalPtr, startPos: int, nLines: int, startPosIsLineStart: int) -> int
extern def Fl_Simple_Terminal_rewind_lines(self: Fl_Simple_TerminalPtr, startPos: int, nLines: int) -> int
extern def Fl_Simple_Terminal_next_word(self: Fl_Simple_TerminalPtr)
extern def Fl_Simple_Terminal_previous_word(self: Fl_Simple_TerminalPtr)
extern def Fl_Simple_Terminal_word_start(self: Fl_Simple_TerminalPtr, pos: int) -> int
extern def Fl_Simple_Terminal_word_end(self: Fl_Simple_TerminalPtr, pos: int) -> int
extern def Fl_Simple_Terminal_x_to_col(self: Fl_Simple_TerminalPtr, x: t.CDouble) -> t.CDouble
extern def Fl_Simple_Terminal_col_to_x(self: Fl_Simple_TerminalPtr, col: t.CDouble) -> t.CDouble
extern def Fl_Simple_Terminal_set_linenumber_width(self: Fl_Simple_TerminalPtr, width: int)
extern def Fl_Simple_Terminal_linenumber_width(self: Fl_Simple_TerminalPtr) -> int
extern def Fl_Simple_Terminal_set_linenumber_font(self: Fl_Simple_TerminalPtr, val: int)
extern def Fl_Simple_Terminal_linenumber_font(self: Fl_Simple_TerminalPtr) -> int
extern def Fl_Simple_Terminal_set_linenumber_size(self: Fl_Simple_TerminalPtr, val: int)
extern def Fl_Simple_Terminal_linenumber_size(self: Fl_Simple_TerminalPtr) -> int
extern def Fl_Simple_Terminal_set_linenumber_fgcolor(self: Fl_Simple_TerminalPtr, val: t.CUInt32T)
extern def Fl_Simple_Terminal_linenumber_fgcolor(self: Fl_Simple_TerminalPtr) -> t.CUInt32T
extern def Fl_Simple_Terminal_set_linenumber_bgcolor(self: Fl_Simple_TerminalPtr, val: t.CUInt32T)
extern def Fl_Simple_Terminal_linenumber_bgcolor(self: Fl_Simple_TerminalPtr) -> t.CUInt32T
extern def Fl_Simple_Terminal_set_linenumber_align(self: Fl_Simple_TerminalPtr, val: int)
extern def Fl_Simple_Terminal_linenumber_align(self: Fl_Simple_TerminalPtr) -> int
extern def Fl_Simple_Terminal_in_selection(self: Fl_Simple_TerminalPtr, x: int, y: int) -> int
extern def Fl_Simple_Terminal_wrap_mode(self: Fl_Simple_TerminalPtr, wrap: int, wrap_margin: int)
extern def Fl_Simple_Terminal_wrapped_column(self: Fl_Simple_TerminalPtr, row: int, column: int) -> int
extern def Fl_Simple_Terminal_wrapped_row(self: Fl_Simple_TerminalPtr, row: int) -> int
extern def Fl_Simple_Terminal_set_grammar_underline_color(self: Fl_Simple_TerminalPtr, color: t.CUInt32T)
extern def Fl_Simple_Terminal_grammar_underline_color(self: Fl_Simple_TerminalPtr) -> t.CUInt32T
extern def Fl_Simple_Terminal_set_spelling_underline_color(self: Fl_Simple_TerminalPtr, color: t.CUInt32T)
extern def Fl_Simple_Terminal_spelling_underline_color(self: Fl_Simple_TerminalPtr) -> t.CUInt32T
extern def Fl_Simple_Terminal_set_secondary_selection_color(self: Fl_Simple_TerminalPtr, color: t.CUInt32T)
extern def Fl_Simple_Terminal_secondary_selection_color(self: Fl_Simple_TerminalPtr) -> t.CUInt32T
extern def Fl_Simple_Terminal_show_insert_position(self: Fl_Simple_TerminalPtr)
extern def Fl_Simple_Terminal_overstrike(self: Fl_Simple_TerminalPtr, text: str)
extern def Fl_Simple_Terminal_redisplay_range(self: Fl_Simple_TerminalPtr, start: int, end: int)
extern def Fl_Simple_Terminal_set_linenumber_format(self: Fl_Simple_TerminalPtr, val: str)
extern def Fl_Simple_Terminal_linenumber_format(self: Fl_Simple_TerminalPtr) -> str
extern def Fl_Simple_Terminal_position_style(self: Fl_Simple_TerminalPtr, lineStartPos: int, lineLen: int, lineIndex: int) -> int
extern def Fl_Simple_Terminal_maintain_absolute_top_line_number(self: Fl_Simple_TerminalPtr, state: int)
extern def Fl_Simple_Terminal_get_absolute_top_line_number(self: Fl_Simple_TerminalPtr) -> int
extern def Fl_Simple_Terminal_absolute_top_line_number(self: Fl_Simple_TerminalPtr, oldFirstChar: int)
extern def Fl_Simple_Terminal_maintaining_absolute_top_line_number(self: Fl_Simple_TerminalPtr) -> int
extern def Fl_Simple_Terminal_reset_absolute_top_line_number(self: Fl_Simple_TerminalPtr)
extern def Fl_Simple_Terminal_scroll_row(self: Fl_Simple_TerminalPtr) -> int
extern def Fl_Simple_Terminal_scroll_col(self: Fl_Simple_TerminalPtr) -> int
extern def Fl_Simple_Terminal_xy_to_position(self: Fl_Simple_TerminalPtr, x: int, y: int, PosType: int) -> int
extern def Fl_Simple_Terminal_xy_to_rowcol(self: Fl_Simple_TerminalPtr, x: int, y: int, row: bytes, column: bytes, PosType: int)
extern def Fl_Text_Buffer_new() -> Fl_Text_BufferPtr
extern def Fl_Text_Buffer_delete(a0: Fl_Text_BufferPtr)
extern def Fl_Text_Buffer_text(self: Fl_Text_BufferPtr) -> str
extern def Fl_Text_Buffer_set_text(self: Fl_Text_BufferPtr, txt: str)
extern def Fl_Text_Buffer_append(self: Fl_Text_BufferPtr, txt: str)
extern def Fl_Text_Buffer_append2(self: Fl_Text_BufferPtr, txt: str, len_: int)
extern def Fl_Text_Buffer_remove(self: Fl_Text_BufferPtr, start: int, end: int)
extern def Fl_Text_Buffer_length(self: Fl_Text_BufferPtr) -> int
extern def Fl_Text_Buffer_text_range(self: Fl_Text_BufferPtr, start: int, end: int) -> str
extern def Fl_Text_Buffer_insert(self: Fl_Text_BufferPtr, pos: int, text: str)
extern def Fl_Text_Buffer_replace(self: Fl_Text_BufferPtr, start: int, end: int, text: str)
extern def Fl_Text_Buffer_copy(self: Fl_Text_BufferPtr, fromBuf: Fl_Text_BufferPtr, fromStart: int, fromEnd: int, toPos: int)
extern def Fl_Text_Buffer_undo(self: Fl_Text_BufferPtr, cp: bytes) -> int
extern def Fl_Text_Buffer_canUndo(self: Fl_Text_BufferPtr, flag: char)
extern def Fl_Text_Buffer_can_undo(self: Fl_Text_BufferPtr) -> int
extern def Fl_Text_Buffer_load_file(self: Fl_Text_BufferPtr, file: str) -> int
extern def Fl_Text_Buffer_save_file(self: Fl_Text_BufferPtr, file: str) -> int
extern def Fl_Text_Buffer_tab_distance(self: Fl_Text_BufferPtr) -> int
extern def Fl_Text_Buffer_set_tab_distance(self: Fl_Text_BufferPtr, tabDist: int)
extern def Fl_Text_Buffer_select(self: Fl_Text_BufferPtr, start: int, end: int)
extern def Fl_Text_Buffer_selected(self: Fl_Text_BufferPtr) -> int
extern def Fl_Text_Buffer_unselect(self: Fl_Text_BufferPtr)
extern def Fl_Text_Buffer_selection_position(self: Fl_Text_BufferPtr, start: bytes, end: bytes) -> int
extern def Fl_Text_Buffer_selection_text(self: Fl_Text_BufferPtr) -> str
extern def Fl_Text_Buffer_remove_selection(self: Fl_Text_BufferPtr)
extern def Fl_Text_Buffer_replace_selection(self: Fl_Text_BufferPtr, text: str)
extern def Fl_Text_Buffer_secondary_select(self: Fl_Text_BufferPtr, start: int, end: int)
extern def Fl_Text_Buffer_secondary_selected(self: Fl_Text_BufferPtr) -> int
extern def Fl_Text_Buffer_secondary_unselect(self: Fl_Text_BufferPtr)
extern def Fl_Text_Buffer_secondary_selection_position(self: Fl_Text_BufferPtr, start: bytes, end: bytes) -> int
extern def Fl_Text_Buffer_secondary_selection_text(self: Fl_Text_BufferPtr) -> str
extern def Fl_Text_Buffer_remove_secondary_selection(self: Fl_Text_BufferPtr)
extern def Fl_Text_Buffer_replace_secondary_selection(self: Fl_Text_BufferPtr, text: str)
extern def Fl_Text_Buffer_highlight(self: Fl_Text_BufferPtr, start: int, end: int)
extern def Fl_Text_Buffer_is_highlighted(self: Fl_Text_BufferPtr) -> int
extern def Fl_Text_Buffer_unhighlight(self: Fl_Text_BufferPtr)
extern def Fl_Text_Buffer_highlight_position(self: Fl_Text_BufferPtr, start: bytes, end: bytes) -> int
extern def Fl_Text_Buffer_highlight_text(self: Fl_Text_BufferPtr) -> str
extern def Fl_Text_Buffer_line_text(self: Fl_Text_BufferPtr, pos: int) -> str
extern def Fl_Text_Buffer_line_start(self: Fl_Text_BufferPtr, pos: int) -> int
extern def Fl_Text_Buffer_line_end(self: Fl_Text_BufferPtr, pos: int) -> int
extern def Fl_Text_Buffer_word_start(self: Fl_Text_BufferPtr, pos: int) -> int
extern def Fl_Text_Buffer_word_end(self: Fl_Text_BufferPtr, pos: int) -> int
extern def Fl_Text_Buffer_count_lines(self: Fl_Text_BufferPtr, startPos: int, endPos: int) -> int
extern def Fl_Text_Buffer_char_at(self: Fl_Text_BufferPtr, pos: int) -> t.CUInt32T
extern def Fl_Text_Buffer_byte_at(self: Fl_Text_BufferPtr, pos: int) -> t.CUInt8T
extern def Fl_Text_Buffer_address(self: Fl_Text_BufferPtr, pos: int) -> str
extern def Fl_Text_Buffer_address2(self: Fl_Text_BufferPtr, pos: int) -> str
extern def Fl_Text_Buffer_utf8_align(self: Fl_Text_BufferPtr, pos: int) -> int
extern def Fl_Text_Buffer_is_word_separator(self: Fl_Text_BufferPtr, pos: int) -> int
extern def Fl_Text_Buffer_add_modify_callback(self: Fl_Text_BufferPtr, bufModifiedCB: bytes, cbArg: bytes)
extern def Fl_Text_Buffer_remove_modify_callback(self: Fl_Text_BufferPtr, bufModifiedCB: bytes, cbArg: bytes)
extern def Fl_Text_Buffer_call_modify_callbacks(self: Fl_Text_BufferPtr)
extern def Fl_Text_Buffer_search_forward(self: Fl_Text_BufferPtr, start_pos: int, search_string: str, found_pos: bytes, match_case: int) -> int
extern def Fl_Text_Buffer_search_backward(self: Fl_Text_BufferPtr, start_pos: int, search_string: str, found_pos: bytes, match_case: int) -> int
extern def Fl_Text_Buffer_findchar_forward(self: Fl_Text_BufferPtr, start_pos: int, search_char: t.CUInt32T, found_pos: bytes) -> int
extern def Fl_Text_Buffer_findchar_backward(self: Fl_Text_BufferPtr, start_pos: int, search_char: t.CUInt32T, found_pos: bytes) -> int
extern def Fl_Text_Buffer_redo(self: Fl_Text_BufferPtr, cp: bytes) -> int
extern def Fl_Text_Buffer_can_redo(self: Fl_Text_BufferPtr) -> int
extern def Fl_Text_Buffer_insertfile(self: Fl_Text_BufferPtr, file: str, pos: int, buflen: int) -> int
extern def Fl_Text_Buffer_appendfile(self: Fl_Text_BufferPtr, file: str, buflen: int) -> int
extern def Fl_Text_Buffer_outputfile(self: Fl_Text_BufferPtr, file: str, start: int, end: int, buflen: int) -> int
extern def Fl_Text_Buffer_add_predelete_callback(self: Fl_Text_BufferPtr, bufPredeleteCB: bytes, cbArg: bytes)
extern def Fl_Text_Buffer_remove_predelete_callback(self: Fl_Text_BufferPtr, bufPredeleteCB: bytes, cbArg: bytes)
extern def Fl_Text_Buffer_call_predelete_callbacks(self: Fl_Text_BufferPtr)
extern def Fl_Text_Display_init(a0: Fl_Text_DisplayPtr)
extern def Fl_Text_Display_get_buffer(a0: Fl_Text_DisplayPtr) -> Fl_Text_BufferPtr
extern def Fl_Text_Display_set_buffer(a0: Fl_Text_DisplayPtr, a1: Fl_Text_BufferPtr)
extern def Fl_Text_Display_get_style_buffer(a0: Fl_Text_DisplayPtr) -> Fl_Text_BufferPtr
extern def Fl_Text_Editor_init(a0: Fl_Text_EditorPtr)
extern def Fl_Text_Editor_get_buffer(a0: Fl_Text_EditorPtr) -> Fl_Text_BufferPtr
extern def Fl_Text_Editor_set_buffer(a0: Fl_Text_EditorPtr, a1: Fl_Text_BufferPtr)
extern def Fl_Text_Editor_get_style_buffer(a0: Fl_Text_EditorPtr) -> Fl_Text_BufferPtr
extern def Fl_Text_Editor_kf_copy(e: Fl_Text_EditorPtr) -> int
extern def Fl_Text_Editor_kf_cut(e: Fl_Text_EditorPtr) -> int
extern def Fl_Text_Editor_kf_paste(e: Fl_Text_EditorPtr) -> int
extern def Fl_Text_Editor_kf_undo(e: Fl_Text_EditorPtr) -> int
extern def Fl_Text_Editor_kf_redo(e: Fl_Text_EditorPtr) -> int
extern def Fl_Text_Editor_kf_default(c: int, e: Fl_Text_EditorPtr) -> int
extern def Fl_Text_Editor_kf_ignore(c: int, e: Fl_Text_EditorPtr) -> int
extern def Fl_Text_Editor_kf_backspace(e: Fl_Text_EditorPtr) -> int
extern def Fl_Text_Editor_kf_enter(e: Fl_Text_EditorPtr) -> int
extern def Fl_Text_Editor_kf_move(c: int, e: Fl_Text_EditorPtr) -> int
extern def Fl_Text_Editor_kf_shift_move(c: int, e: Fl_Text_EditorPtr) -> int
extern def Fl_Text_Editor_kf_ctrl_move(c: int, e: Fl_Text_EditorPtr) -> int
extern def Fl_Text_Editor_kf_c_s_move(c: int, e: Fl_Text_EditorPtr) -> int
extern def Fl_Text_Editor_kf_meta_move(c: int, e: Fl_Text_EditorPtr) -> int
extern def Fl_Text_Editor_kf_m_s_move(c: int, e: Fl_Text_EditorPtr) -> int
extern def Fl_Text_Editor_kf_home(e: Fl_Text_EditorPtr) -> int
extern def Fl_Text_Editor_kf_end(e: Fl_Text_EditorPtr) -> int
extern def Fl_Text_Editor_kf_left(e: Fl_Text_EditorPtr) -> int
extern def Fl_Text_Editor_kf_up(e: Fl_Text_EditorPtr) -> int
extern def Fl_Text_Editor_kf_right(e: Fl_Text_EditorPtr) -> int
extern def Fl_Text_Editor_kf_down(e: Fl_Text_EditorPtr) -> int
extern def Fl_Text_Editor_kf_page_up(e: Fl_Text_EditorPtr) -> int
extern def Fl_Text_Editor_kf_page_down(e: Fl_Text_EditorPtr) -> int
extern def Fl_Text_Editor_kf_insert(e: Fl_Text_EditorPtr) -> int
extern def Fl_Text_Editor_kf_delete(e: Fl_Text_EditorPtr) -> int
extern def Fl_Text_Editor_kf_select_all(e: Fl_Text_EditorPtr) -> int
extern def Fl_Text_Editor_set_insert_mode(self: Fl_Text_EditorPtr, b: int)
extern def Fl_Text_Editor_insert_mode(self: Fl_Text_EditorPtr) -> int
extern def Fl_Text_Editor_set_tab_nav(self: Fl_Text_EditorPtr, val: int)
extern def Fl_Text_Editor_tab_nav(self: Fl_Text_EditorPtr) -> int
extern def Fl_Text_Editor_add_key_binding(self: Fl_Text_EditorPtr, key: int, state: int, cb3: bytes)
extern def Fl_Text_Editor_remove_key_binding(self: Fl_Text_EditorPtr, key: int, state: int)
extern def Fl_Simple_Terminal_init(a0: Fl_Simple_TerminalPtr)
extern def Fl_Simple_Terminal_get_buffer(a0: Fl_Simple_TerminalPtr) -> Fl_Text_BufferPtr
extern def Fl_Simple_Terminal_set_buffer(a0: Fl_Simple_TerminalPtr, a1: Fl_Text_BufferPtr)
extern def Fl_Simple_Terminal_get_style_buffer(a0: Fl_Simple_TerminalPtr) -> Fl_Text_BufferPtr
extern def Fl_Simple_Terminal_set_stay_at_bottom(self: Fl_Simple_TerminalPtr, a1: int)
extern def Fl_Simple_Terminal_stay_at_bottom(self: Fl_Simple_TerminalPtr) -> int
extern def Fl_Simple_Terminal_set_history_lines(self: Fl_Simple_TerminalPtr, a1: int)
extern def Fl_Simple_Terminal_history_lines(self: Fl_Simple_TerminalPtr) -> int
extern def Fl_Simple_Terminal_set_ansi(self: Fl_Simple_TerminalPtr, val: int)
extern def Fl_Simple_Terminal_ansi(self: Fl_Simple_TerminalPtr) -> int
extern def Fl_Simple_Terminal_append(self: Fl_Simple_TerminalPtr, s: str)
extern def Fl_Simple_Terminal_append2(self: Fl_Simple_TerminalPtr, s: str, len_: int)
extern def Fl_Simple_Terminal_set_text(self: Fl_Simple_TerminalPtr, s: str)
extern def Fl_Simple_Terminal_set_text2(self: Fl_Simple_TerminalPtr, s: str, len_: int)
extern def Fl_Simple_Terminal_text(self: Fl_Simple_TerminalPtr) -> str
extern def Fl_Simple_Terminal_clear(self: Fl_Simple_TerminalPtr)
extern def Fl_Simple_Terminal_remove_lines(self: Fl_Simple_TerminalPtr, start: int, count: int)
extern def Fl_delete_stable(a0: bytes)
-21
View File
@@ -1,21 +0,0 @@
# ============================================================
# fltk/_cfl_theme.vp — Fl_Theme(C++ 主题库)→ Viper extern FFI
#
# 对应 Fl_Theme/fltk_theme.cpp 导出的 C 函数(手工维护,gen_ffi 不覆盖)。
# 链接需 libfltk_theme.a(见 project.vpj linker.static_libs)+
# libcfltk2.a + libfltk_images.a(Fl_SVG_Image)。
# ============================================================
import t, c
# 应用深色主题(flat 控件 + BLACK 色板)
extern def Fl_Theme_apply_dark()
# 应用 Metro 主题(metro 控件 + 蓝灰配色)
extern def Fl_Theme_apply_metro()
# 设置 flat 控件圆角半径(默认 5;应用主题前调用)
extern def Fl_Theme_set_border_radius(radius: int)
# 仅应用 flat / metro 控件绘制方案(不改颜色)
extern def Fl_Theme_apply_flat_scheme()
extern def Fl_Theme_apply_metro_scheme()
-301
View File
@@ -1,301 +0,0 @@
import t, c
from fltk._types import *
# ============================================================
# fltk/_cfl_tree.vp — cfl_tree.h 的 extern FFI 声明(对接 cfltk C API)
# ============================================================
# 所有函数直接对应 cfltk 生成的 C 符号(extern "C"),链接目标: cfltk2。
# 类型约定: Fl_* 对象均为不透明指针 (Fl_XxxPtr);const char* → str;
# 函数指针/void* → bytes(Viper 端传 0/NULL 或不使用)。
# ----- Fl_Tree (widget_declare) -----
extern def Fl_Tree_new(x: int, y: int, width: int, height: int, title: str) -> Fl_TreePtr
extern def Fl_Tree_x(self: Fl_TreePtr) -> int
extern def Fl_Tree_y(self: Fl_TreePtr) -> int
extern def Fl_Tree_width(self: Fl_TreePtr) -> int
extern def Fl_Tree_height(self: Fl_TreePtr) -> int
extern def Fl_Tree_label(self: Fl_TreePtr) -> str
extern def Fl_Tree_set_label(self: Fl_TreePtr, title: str)
extern def Fl_Tree_redraw(self: Fl_TreePtr)
extern def Fl_Tree_show(self: Fl_TreePtr)
extern def Fl_Tree_hide(self: Fl_TreePtr)
extern def Fl_Tree_activate(self: Fl_TreePtr)
extern def Fl_Tree_deactivate(self: Fl_TreePtr)
extern def Fl_Tree_redraw_label(self: Fl_TreePtr)
extern def Fl_Tree_resize(self: Fl_TreePtr, x: int, y: int, width: int, height: int)
extern def Fl_Tree_widget_resize(self: Fl_TreePtr, x: int, y: int, width: int, height: int)
extern def Fl_Tree_tooltip(self: Fl_TreePtr) -> str
extern def Fl_Tree_set_tooltip(self: Fl_TreePtr, txt: str)
extern def Fl_Tree_get_type(self: Fl_TreePtr) -> int
extern def Fl_Tree_set_type(self: Fl_TreePtr, typ: int)
extern def Fl_Tree_color(self: Fl_TreePtr) -> t.CUInt32T
extern def Fl_Tree_set_color(self: Fl_TreePtr, color: t.CUInt32T)
extern def Fl_Tree_measure_label(self: Fl_TreePtr, a1: bytes, a2: bytes)
extern def Fl_Tree_label_color(self: Fl_TreePtr) -> t.CUInt32T
extern def Fl_Tree_set_label_color(self: Fl_TreePtr, color: t.CUInt32T)
extern def Fl_Tree_label_font(self: Fl_TreePtr) -> int
extern def Fl_Tree_set_label_font(self: Fl_TreePtr, font: int)
extern def Fl_Tree_label_size(self: Fl_TreePtr) -> int
extern def Fl_Tree_set_label_size(self: Fl_TreePtr, sz: int)
extern def Fl_Tree_label_type(self: Fl_TreePtr) -> int
extern def Fl_Tree_set_label_type(self: Fl_TreePtr, typ: int)
extern def Fl_Tree_box(self: Fl_TreePtr) -> int
extern def Fl_Tree_set_box(self: Fl_TreePtr, typ: int)
extern def Fl_Tree_changed(self: Fl_TreePtr) -> int
extern def Fl_Tree_set_changed(self: Fl_TreePtr)
extern def Fl_Tree_clear_changed(self: Fl_TreePtr)
extern def Fl_Tree_align(self: Fl_TreePtr) -> int
extern def Fl_Tree_set_align(self: Fl_TreePtr, typ: int)
extern def Fl_Tree_delete(self: Fl_TreePtr)
extern def Fl_Tree_set_image(self: Fl_TreePtr, a1: bytes)
extern def Fl_Tree_handle(self: Fl_TreePtr, cb: bytes, data: bytes)
extern def Fl_Tree_handle_event(self: Fl_TreePtr, event: int) -> int
extern def Fl_Tree_draw(self: Fl_TreePtr, cb: bytes, data: bytes)
extern def Fl_Tree_resize_callback(self: Fl_TreePtr, cb1: bytes, data: bytes)
extern def Fl_Tree_set_when(self: Fl_TreePtr, a1: int)
extern def Fl_Tree_when(self: Fl_TreePtr) -> int
extern def Fl_Tree_image(self: Fl_TreePtr) -> bytes
extern def Fl_Tree_parent(self: Fl_TreePtr) -> bytes
extern def Fl_Tree_selection_color(self: Fl_TreePtr) -> t.CUInt32T
extern def Fl_Tree_set_selection_color(self: Fl_TreePtr, color: t.CUInt32T)
extern def Fl_Tree_do_callback(self: Fl_TreePtr)
extern def Fl_Tree_inside(self: Fl_TreePtr, a1: bytes) -> int
extern def Fl_Tree_window(self: Fl_TreePtr) -> bytes
extern def Fl_Tree_top_window(self: Fl_TreePtr) -> bytes
extern def Fl_Tree_takes_events(self: Fl_TreePtr) -> int
extern def Fl_Tree_user_data(self: Fl_TreePtr) -> bytes
extern def Fl_Tree_take_focus(self: Fl_TreePtr) -> int
extern def Fl_Tree_set_visible_focus(self: Fl_TreePtr)
extern def Fl_Tree_clear_visible_focus(self: Fl_TreePtr)
extern def Fl_Tree_visible_focus(self: Fl_TreePtr, v: int)
extern def Fl_Tree_has_visible_focus(self: Fl_TreePtr) -> t.CUInt32T
extern def Fl_Tree_set_user_data(self: Fl_TreePtr, data: bytes)
extern def Fl_Tree_draw_data(self: Fl_TreePtr) -> bytes
extern def Fl_Tree_handle_data(self: Fl_TreePtr) -> bytes
extern def Fl_Tree_set_draw_data(self: Fl_TreePtr, data: bytes)
extern def Fl_Tree_set_handle_data(self: Fl_TreePtr, data: bytes)
extern def Fl_Tree_damage(self: Fl_TreePtr) -> t.CUInt8T
extern def Fl_Tree_set_damage(self: Fl_TreePtr, flag: t.CUInt8T)
extern def Fl_Tree_set_damage_area(self: Fl_TreePtr, flag: t.CUInt8T, x: int, y: int, w: int, h: int)
extern def Fl_Tree_clear_damage(self: Fl_TreePtr)
extern def Fl_Tree_as_window(self: Fl_TreePtr) -> bytes
extern def Fl_Tree_as_group(self: Fl_TreePtr) -> bytes
extern def Fl_Tree_set_deimage(self: Fl_TreePtr, a1: bytes)
extern def Fl_Tree_deimage(self: Fl_TreePtr) -> bytes
extern def Fl_Tree_set_callback(self: Fl_TreePtr, a1: bytes, a2: bytes)
extern def Fl_Tree_visible(self: Fl_TreePtr) -> int
extern def Fl_Tree_visible_r(self: Fl_TreePtr) -> int
extern def Fl_Tree_active(self: Fl_TreePtr) -> t.CUInt32T
extern def Fl_Tree_active_r(self: Fl_TreePtr) -> int
extern def Fl_Tree_callback(self: Fl_TreePtr) -> bytes
extern def Fl_Tree_set_deletion_callback(self: Fl_TreePtr, cb1: bytes, data: bytes)
extern def Fl_Tree_from_dyn_ptr(ptr: Fl_WidgetPtr) -> Fl_TreePtr
extern def Fl_Tree_from_derived_dyn_ptr(ptr: Fl_WidgetPtr) -> Fl_TreePtr
extern def Fl_Tree_super_draw(ptr: Fl_WidgetPtr, flag: int)
extern def Fl_Tree_super_draw_first(ptr: Fl_WidgetPtr, flag: int)
extern def Fl_Tree_super_handle_first(ptr: Fl_WidgetPtr, flag: int)
extern def Fl_Tree_begin(self: Fl_TreePtr)
extern def Fl_Tree_end(self: Fl_TreePtr)
extern def Fl_Tree_show_self(self: Fl_TreePtr)
extern def Fl_Tree_root_label(self: Fl_TreePtr, new_label: str)
extern def Fl_Tree_root(self: Fl_TreePtr) -> Fl_Tree_ItemPtr
extern def Fl_Tree_set_root(self: Fl_TreePtr, newitem: Fl_Tree_ItemPtr)
extern def Fl_Tree_add(self: Fl_TreePtr, name: str) -> Fl_Tree_ItemPtr
extern def Fl_Tree_add_item(self: Fl_TreePtr, name: str, item: Fl_Tree_ItemPtr) -> Fl_Tree_ItemPtr
extern def Fl_Tree_insert_above(self: Fl_TreePtr, above: Fl_Tree_ItemPtr, name: str) -> Fl_Tree_ItemPtr
extern def Fl_Tree_insert(self: Fl_TreePtr, item: Fl_Tree_ItemPtr, name: str, pos: int) -> Fl_Tree_ItemPtr
extern def Fl_Tree_find_item(self: Fl_TreePtr, path: str) -> Fl_Tree_ItemPtr
extern def Fl_Tree_find_item_mut(self: Fl_TreePtr, path: str) -> Fl_Tree_ItemPtr
extern def Fl_Tree_remove(self: Fl_TreePtr, item: Fl_Tree_ItemPtr) -> int
extern def Fl_Tree_clear(self: Fl_TreePtr)
extern def Fl_Tree_clear_children(self: Fl_TreePtr, item: Fl_Tree_ItemPtr)
extern def Fl_Tree_find_clicked(self: Fl_TreePtr, yonly: int) -> Fl_Tree_ItemPtr
extern def Fl_Tree_item_clicked(self: Fl_TreePtr) -> Fl_Tree_ItemPtr
extern def Fl_Tree_first(self: Fl_TreePtr) -> Fl_Tree_ItemPtr
extern def Fl_Tree_first_visible_item(self: Fl_TreePtr) -> Fl_Tree_ItemPtr
extern def Fl_Tree_next(self: Fl_TreePtr, item: Fl_Tree_ItemPtr) -> Fl_Tree_ItemPtr
extern def Fl_Tree_prev(self: Fl_TreePtr, item: Fl_Tree_ItemPtr) -> Fl_Tree_ItemPtr
extern def Fl_Tree_last(self: Fl_TreePtr) -> Fl_Tree_ItemPtr
extern def Fl_Tree_last_visible_item(self: Fl_TreePtr) -> Fl_Tree_ItemPtr
extern def Fl_Tree_next_visible_item(self: Fl_TreePtr, start: Fl_Tree_ItemPtr, dir: int) -> Fl_Tree_ItemPtr
extern def Fl_Tree_first_selected_item(self: Fl_TreePtr) -> Fl_Tree_ItemPtr
extern def Fl_Tree_last_selected_item(self: Fl_TreePtr) -> Fl_Tree_ItemPtr
extern def Fl_Tree_next_item(self: Fl_TreePtr, item: Fl_Tree_ItemPtr, dir: int, visible: int) -> Fl_Tree_ItemPtr
extern def Fl_Tree_next_selected_item(self: Fl_TreePtr, item: Fl_Tree_ItemPtr, dir: int) -> Fl_Tree_ItemPtr
extern def Fl_Tree_get_selected_items(self: Fl_TreePtr, arr: bytes) -> int
extern def Fl_Tree_get_items(self: Fl_TreePtr, arr: bytes) -> int
extern def Fl_Tree_open(self: Fl_TreePtr, path: str, docallback: int) -> int
extern def Fl_Tree_open_toggle(self: Fl_TreePtr, item: Fl_Tree_ItemPtr, docallback: int)
extern def Fl_Tree_close(self: Fl_TreePtr, path: str, docallback: int) -> int
extern def Fl_Tree_is_open(self: Fl_TreePtr, path: str) -> int
extern def Fl_Tree_is_close(self: Fl_TreePtr, path: str) -> int
extern def Fl_Tree_select(self: Fl_TreePtr, path: str, docallback: int) -> int
extern def Fl_Tree_select_toggle(self: Fl_TreePtr, item: Fl_Tree_ItemPtr, docallback: int)
extern def Fl_Tree_deselect(self: Fl_TreePtr, path: str, docallback: int) -> int
extern def Fl_Tree_deselect_all(self: Fl_TreePtr, item: Fl_Tree_ItemPtr, docallback: int) -> int
extern def Fl_Tree_select_only(self: Fl_TreePtr, selitem: Fl_Tree_ItemPtr, docallback: int) -> int
extern def Fl_Tree_select_all(self: Fl_TreePtr, item: Fl_Tree_ItemPtr, docallback: int) -> int
extern def Fl_Tree_extend_selection_dir(self: Fl_TreePtr, from_: Fl_Tree_ItemPtr, to: Fl_Tree_ItemPtr, dir: int, val: int, visible: int) -> int
extern def Fl_Tree_extend_selection(self: Fl_TreePtr, from_: Fl_Tree_ItemPtr, to: Fl_Tree_ItemPtr, val: int, visible: int) -> int
extern def Fl_Tree_set_item_focus(self: Fl_TreePtr, item: Fl_Tree_ItemPtr)
extern def Fl_Tree_get_item_focus(self: Fl_TreePtr) -> Fl_Tree_ItemPtr
extern def Fl_Tree_is_selected(self: Fl_TreePtr, path: str) -> int
extern def Fl_Tree_item_labelfont(self: Fl_TreePtr) -> int
extern def Fl_Tree_set_item_labelfont(self: Fl_TreePtr, val: int)
extern def Fl_Tree_item_labelsize(self: Fl_TreePtr) -> int
extern def Fl_Tree_set_item_labelsize(self: Fl_TreePtr, val: int)
extern def Fl_Tree_item_labelfgcolor(self: Fl_TreePtr) -> t.CUInt32T
extern def Fl_Tree_set_item_labelfgcolor(self: Fl_TreePtr, val: t.CUInt32T)
extern def Fl_Tree_item_labelbgcolor(self: Fl_TreePtr) -> t.CUInt32T
extern def Fl_Tree_set_item_labelbgcolor(self: Fl_TreePtr, val: t.CUInt32T)
extern def Fl_Tree_connectorcolor(self: Fl_TreePtr) -> t.CUInt32T
extern def Fl_Tree_set_connectorcolor(self: Fl_TreePtr, val: t.CUInt32T)
extern def Fl_Tree_marginleft(self: Fl_TreePtr) -> int
extern def Fl_Tree_set_marginleft(self: Fl_TreePtr, val: int)
extern def Fl_Tree_margintop(self: Fl_TreePtr) -> int
extern def Fl_Tree_set_margintop(self: Fl_TreePtr, val: int)
extern def Fl_Tree_marginbottom(self: Fl_TreePtr) -> int
extern def Fl_Tree_set_marginbottom(self: Fl_TreePtr, val: int)
extern def Fl_Tree_linespacing(self: Fl_TreePtr) -> int
extern def Fl_Tree_set_linespacing(self: Fl_TreePtr, val: int)
extern def Fl_Tree_openchild_marginbottom(self: Fl_TreePtr) -> int
extern def Fl_Tree_set_openchild_marginbottom(self: Fl_TreePtr, val: int)
extern def Fl_Tree_usericonmarginleft(self: Fl_TreePtr) -> int
extern def Fl_Tree_set_usericonmarginleft(self: Fl_TreePtr, val: int)
extern def Fl_Tree_labelmarginleft(self: Fl_TreePtr) -> int
extern def Fl_Tree_set_labelmarginleft(self: Fl_TreePtr, val: int)
extern def Fl_Tree_widgetmarginleft(self: Fl_TreePtr) -> int
extern def Fl_Tree_set_widgetmarginleft(self: Fl_TreePtr, val: int)
extern def Fl_Tree_connectorwidth(self: Fl_TreePtr) -> int
extern def Fl_Tree_set_connectorwidth(self: Fl_TreePtr, val: int)
extern def Fl_Tree_usericon(self: Fl_TreePtr) -> bytes
extern def Fl_Tree_set_usericon(self: Fl_TreePtr, val: bytes)
extern def Fl_Tree_openicon(self: Fl_TreePtr) -> bytes
extern def Fl_Tree_set_openicon(self: Fl_TreePtr, val: bytes)
extern def Fl_Tree_closeicon(self: Fl_TreePtr) -> bytes
extern def Fl_Tree_set_closeicon(self: Fl_TreePtr, val: bytes)
extern def Fl_Tree_showcollapse(self: Fl_TreePtr) -> int
extern def Fl_Tree_set_showcollapse(self: Fl_TreePtr, val: int)
extern def Fl_Tree_showroot(self: Fl_TreePtr) -> int
extern def Fl_Tree_set_showroot(self: Fl_TreePtr, val: int)
extern def Fl_Tree_connectorstyle(self: Fl_TreePtr) -> int
extern def Fl_Tree_set_connectorstyle(self: Fl_TreePtr, val: int)
extern def Fl_Tree_sortorder(self: Fl_TreePtr) -> int
extern def Fl_Tree_set_sortorder(self: Fl_TreePtr, val: int)
extern def Fl_Tree_selectbox(self: Fl_TreePtr) -> int
extern def Fl_Tree_set_selectbox(self: Fl_TreePtr, val: int)
extern def Fl_Tree_selectmode(self: Fl_TreePtr) -> int
extern def Fl_Tree_set_selectmode(self: Fl_TreePtr, val: int)
extern def Fl_Tree_item_reselect_mode(self: Fl_TreePtr) -> int
extern def Fl_Tree_set_item_reselect_mode(self: Fl_TreePtr, mode: int)
extern def Fl_Tree_item_draw_mode(self: Fl_TreePtr) -> int
extern def Fl_Tree_set_item_draw_mode(self: Fl_TreePtr, mode: int)
extern def Fl_Tree_calc_dimensions(self: Fl_TreePtr)
extern def Fl_Tree_calc_tree(self: Fl_TreePtr)
extern def Fl_Tree_recalc_tree(self: Fl_TreePtr)
extern def Fl_Tree_displayed(self: Fl_TreePtr, item: Fl_Tree_ItemPtr) -> int
extern def Fl_Tree_show_item(self: Fl_TreePtr, item: Fl_Tree_ItemPtr, yoff: int)
extern def Fl_Tree_show_item_top(self: Fl_TreePtr, item: Fl_Tree_ItemPtr)
extern def Fl_Tree_show_item_middle(self: Fl_TreePtr, item: Fl_Tree_ItemPtr)
extern def Fl_Tree_show_item_bottom(self: Fl_TreePtr, item: Fl_Tree_ItemPtr)
extern def Fl_Tree_display(self: Fl_TreePtr, item: Fl_Tree_ItemPtr)
extern def Fl_Tree_vposition(self: Fl_TreePtr) -> int
extern def Fl_Tree_set_vposition(self: Fl_TreePtr, pos: int)
extern def Fl_Tree_hposition(self: Fl_TreePtr) -> int
extern def Fl_Tree_set_hposition(self: Fl_TreePtr, pos: int)
extern def Fl_Tree_is_scrollbar(self: Fl_TreePtr, w: Fl_WidgetPtr) -> int
extern def Fl_Tree_scrollbar_size(self: Fl_TreePtr) -> int
extern def Fl_Tree_set_scrollbar_size(self: Fl_TreePtr, size: int)
extern def Fl_Tree_is_vscroll_visible(self: Fl_TreePtr) -> int
extern def Fl_Tree_is_hscroll_visible(self: Fl_TreePtr) -> int
extern def Fl_Tree_set_callback_item(self: Fl_TreePtr, item: Fl_Tree_ItemPtr)
extern def Fl_Tree_callback_item(self: Fl_TreePtr) -> Fl_Tree_ItemPtr
extern def Fl_Tree_set_callback_reason(self: Fl_TreePtr, reason: int)
extern def Fl_Tree_callback_reason(self: Fl_TreePtr) -> int
extern def Fl_Tree_item_pathname(self: Fl_TreePtr, pathname: str, pathnamelen: int, item: Fl_Tree_ItemPtr) -> int
extern def Fl_Tree_Item_new(tree: Fl_TreePtr, txt: str) -> Fl_Tree_ItemPtr
extern def Fl_Tree_Item_draw_item_content(item: Fl_Tree_ItemPtr, cb1: bytes, data: bytes)
extern def Fl_Tree_Item_set_user_data(item: Fl_Tree_ItemPtr, data: bytes)
extern def Fl_Tree_Item_user_data(item: Fl_Tree_ItemPtr) -> bytes
extern def Fl_Tree_Item_x(self: Fl_Tree_ItemPtr) -> int
extern def Fl_Tree_Item_y(self: Fl_Tree_ItemPtr) -> int
extern def Fl_Tree_Item_w(self: Fl_Tree_ItemPtr) -> int
extern def Fl_Tree_Item_h(self: Fl_Tree_ItemPtr) -> int
extern def Fl_Tree_Item_label_x(self: Fl_Tree_ItemPtr) -> int
extern def Fl_Tree_Item_label_y(self: Fl_Tree_ItemPtr) -> int
extern def Fl_Tree_Item_label_w(self: Fl_Tree_ItemPtr) -> int
extern def Fl_Tree_Item_label_h(self: Fl_Tree_ItemPtr) -> int
extern def Fl_Tree_Item_show_self(self: Fl_Tree_ItemPtr, indent: str)
extern def Fl_Tree_set_Item_label(self: Fl_Tree_ItemPtr, val: str)
extern def Fl_Tree_Item_label(self: Fl_Tree_ItemPtr) -> str
extern def Fl_Tree_Item_set_labelfont(self: Fl_Tree_ItemPtr, val: int)
extern def Fl_Tree_Item_labelfont(self: Fl_Tree_ItemPtr) -> int
extern def Fl_Tree_Item_set_labelsize(self: Fl_Tree_ItemPtr, val: int)
extern def Fl_Tree_Item_labelsize(self: Fl_Tree_ItemPtr) -> int
extern def Fl_Tree_Item_set_labelfgcolor(self: Fl_Tree_ItemPtr, val: t.CUInt32T)
extern def Fl_Tree_Item_labelfgcolor(self: Fl_Tree_ItemPtr) -> t.CUInt32T
extern def Fl_Tree_Item_set_labelcolor(self: Fl_Tree_ItemPtr, val: t.CUInt32T)
extern def Fl_Tree_Item_labelcolor(self: Fl_Tree_ItemPtr) -> t.CUInt32T
extern def Fl_Tree_Item_set_labelbgcolor(self: Fl_Tree_ItemPtr, val: t.CUInt32T)
extern def Fl_Tree_Item_labelbgcolor(self: Fl_Tree_ItemPtr) -> t.CUInt32T
extern def Fl_Tree_Item_set_widget(self: Fl_Tree_ItemPtr, val: Fl_WidgetPtr)
extern def Fl_Tree_Item_widget(self: Fl_Tree_ItemPtr) -> Fl_WidgetPtr
extern def Fl_Tree_Item_children(self: Fl_Tree_ItemPtr) -> int
extern def Fl_Tree_Item_child(self: Fl_Tree_ItemPtr, t: int) -> Fl_Tree_ItemPtr
extern def Fl_Tree_Item_has_children(self: Fl_Tree_ItemPtr) -> int
extern def Fl_Tree_Item_find_child(self: Fl_Tree_ItemPtr, name: str) -> int
extern def Fl_Tree_Item_remove_child(self: Fl_Tree_ItemPtr, new_label: str) -> int
extern def Fl_Tree_Item_clear_children(self: Fl_Tree_ItemPtr)
extern def Fl_Tree_Item_swap_children(self: Fl_Tree_ItemPtr, a: Fl_Tree_ItemPtr, b: Fl_Tree_ItemPtr) -> int
extern def Fl_Tree_Item_find_child_item(self: Fl_Tree_ItemPtr, name: str) -> Fl_Tree_ItemPtr
extern def Fl_Tree_Item_replace(self: Fl_Tree_ItemPtr, new_item: Fl_Tree_ItemPtr) -> Fl_Tree_ItemPtr
extern def Fl_Tree_Item_replace_child(self: Fl_Tree_ItemPtr, olditem: Fl_Tree_ItemPtr, newitem: Fl_Tree_ItemPtr) -> Fl_Tree_ItemPtr
extern def Fl_Tree_Item_deparent(self: Fl_Tree_ItemPtr, index: int) -> Fl_Tree_ItemPtr
extern def Fl_Tree_Item_reparent(self: Fl_Tree_ItemPtr, newchild: Fl_Tree_ItemPtr, index: int) -> int
extern def Fl_Tree_Item_move(self: Fl_Tree_ItemPtr, to: int, from_: int) -> int
extern def Fl_Tree_Item_move_above(self: Fl_Tree_ItemPtr, item: Fl_Tree_ItemPtr) -> int
extern def Fl_Tree_Item_move_below(self: Fl_Tree_ItemPtr, item: Fl_Tree_ItemPtr) -> int
extern def Fl_Tree_Item_move_into(self: Fl_Tree_ItemPtr, item: Fl_Tree_ItemPtr, pos: int) -> int
extern def Fl_Tree_Item_depth(self: Fl_Tree_ItemPtr) -> int
extern def Fl_Tree_Item_prev(self: Fl_Tree_ItemPtr) -> Fl_Tree_ItemPtr
extern def Fl_Tree_Item_next(self: Fl_Tree_ItemPtr) -> Fl_Tree_ItemPtr
extern def Fl_Tree_Item_next_sibling(self: Fl_Tree_ItemPtr) -> Fl_Tree_ItemPtr
extern def Fl_Tree_Item_prev_sibling(self: Fl_Tree_ItemPtr) -> Fl_Tree_ItemPtr
extern def Fl_Tree_Item_update_prev_next(self: Fl_Tree_ItemPtr, index: int)
extern def Fl_Tree_Item_parent(self: Fl_Tree_ItemPtr) -> Fl_Tree_ItemPtr
extern def Fl_Tree_Item_set_parent(self: Fl_Tree_ItemPtr, val: Fl_Tree_ItemPtr)
extern def Fl_Tree_Item_tree(self: Fl_Tree_ItemPtr) -> Fl_TreePtr
extern def Fl_Tree_Item_open(self: Fl_Tree_ItemPtr)
extern def Fl_Tree_Item_close(self: Fl_Tree_ItemPtr)
extern def Fl_Tree_Item_is_open(self: Fl_Tree_ItemPtr) -> int
extern def Fl_Tree_Item_is_close(self: Fl_Tree_ItemPtr) -> int
extern def Fl_Tree_Item_open_toggle(self: Fl_Tree_ItemPtr)
extern def Fl_Tree_Item_select(self: Fl_Tree_ItemPtr, val: int)
extern def Fl_Tree_Item_select_toggle(self: Fl_Tree_ItemPtr)
extern def Fl_Tree_Item_select_all(self: Fl_Tree_ItemPtr) -> int
extern def Fl_Tree_Item_deselect(self: Fl_Tree_ItemPtr)
extern def Fl_Tree_Item_deselect_all(self: Fl_Tree_ItemPtr) -> int
extern def Fl_Tree_Item_is_root(self: Fl_Tree_ItemPtr) -> int
extern def Fl_Tree_Item_is_visible(self: Fl_Tree_ItemPtr) -> int
extern def Fl_Tree_Item_is_active(self: Fl_Tree_ItemPtr) -> char
extern def Fl_Tree_Item_is_activated(self: Fl_Tree_ItemPtr) -> char
extern def Fl_Tree_Item_deactivate(self: Fl_Tree_ItemPtr)
extern def Fl_Tree_Item_activate(self: Fl_Tree_ItemPtr, val: int)
extern def Fl_Tree_Item_is_selected(self: Fl_Tree_ItemPtr) -> char
extern def Fl_Tree_Item_Array_total(self: Fl_Tree_Item_ArrayPtr) -> int
extern def Fl_Tree_Item_Array_swap(self: Fl_Tree_Item_ArrayPtr, ax: int, bx: int)
extern def Fl_Tree_Item_Array_move(self: Fl_Tree_Item_ArrayPtr, to: int, from_: int) -> int
extern def Fl_Tree_Item_Array_deparent(self: Fl_Tree_Item_ArrayPtr, pos: int) -> int
extern def Fl_Tree_Item_Array_reparent(self: Fl_Tree_Item_ArrayPtr, item: Fl_Tree_ItemPtr, newparent: Fl_Tree_ItemPtr, pos: int) -> int
extern def Fl_Tree_Item_Array_clear(self: Fl_Tree_Item_ArrayPtr)
extern def Fl_Tree_Item_Array_add(self: Fl_Tree_Item_ArrayPtr, val: Fl_Tree_ItemPtr)
extern def Fl_Tree_Item_Array_insert(self: Fl_Tree_Item_ArrayPtr, pos: int, new_item: Fl_Tree_ItemPtr)
extern def Fl_Tree_Item_Array_replace(self: Fl_Tree_Item_ArrayPtr, pos: int, new_item: Fl_Tree_ItemPtr)
extern def Fl_Tree_Item_Array_remove(self: Fl_Tree_Item_ArrayPtr, index: int)
extern def Fl_Tree_Item_Array_remove_item(self: Fl_Tree_Item_ArrayPtr, item: Fl_Tree_ItemPtr) -> int
extern def Fl_Tree_Item_Array_at(self: Fl_Tree_Item_ArrayPtr, index: int) -> Fl_Tree_ItemPtr
extern def Fl_Tree_Item_Array_delete(self: Fl_Tree_Item_ArrayPtr)
extern def Fl_Tree_Item_usericon(self: Fl_Tree_ItemPtr) -> bytes
extern def Fl_Tree_Item_set_usericon(self: Fl_Tree_ItemPtr, val: bytes)
-15
View File
@@ -1,15 +0,0 @@
import t, c
from fltk._types import *
# ============================================================
# fltk/_cfl_utils.vp — cfl_utils.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_filename_expand(out: str, len_: int, in_: str) -> int
extern def Fl_type_name(w: bytes) -> str
extern def Fl_open_uri(uri: str, msg: str, msglen: int) -> int
extern def Fl_decode_uri(uri: str)
File diff suppressed because it is too large. Load diff
-98
View File
@@ -1,98 +0,0 @@
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)
-1141
View File
File diff suppressed because it is too large. Load diff
-447
View File
@@ -1,447 +0,0 @@
import t, c
# ============================================================
# fltk/_enums.vp — cfltk 枚举常量(t.CInt)
# ============================================================
Fl_BrowserType_Normal: t.CInt = 0
Fl_BrowserType_Select: t.CInt = 1
Fl_BrowserType_Hold: t.CInt = 2
Fl_BrowserType_Multi: t.CInt = 3
Fl_BrowserScrollbar_None: t.CInt = 0
Fl_BrowserScrollbar_Horizontal: t.CInt = 1
Fl_BrowserScrollbar_Vertical: t.CInt = 2
Fl_BrowserScrollbar_Both: t.CInt = 3
Fl_BrowserScrollbar_AlwaysOn: t.CInt = 4
Fl_BrowserScrollbar_HorizontalAlways: t.CInt = 5
Fl_BrowserScrollbar_VerticalAlways: t.CInt = 6
Fl_BrowserScrollbar_BothAlways: t.CInt = 7
Fl_FileType_Files: t.CInt = 0
Fl_ButtonType_Normal: t.CInt = 0
Fl_ButtonType_Toggle: t.CInt = 1
Fl_ButtonType_Radio: t.CInt = 102
Fl_ButtonType_Hidden: t.CInt = 103
Fl_FileDialogType_BrowseFile: t.CInt = 0
Fl_FileDialogType_BrowseDir: t.CInt = 1
Fl_FileDialogType_BrowseMultiFile: t.CInt = 2
Fl_FileDialogType_BrowseMultiDir: t.CInt = 3
Fl_FileDialogType_BrowseSaveFile: t.CInt = 4
Fl_FileDialogOptions_NoOptions: t.CInt = 0
Fl_FileDialogOptions_SaveAsConfirm: t.CInt = 1
Fl_FileDialogOptions_NewFolder: t.CInt = 2
Fl_FileDialogOptions_Preview: t.CInt = 4
Fl_FileDialogOptions_UseFilterExt: t.CInt = 5
Fl_BeepType_Default: t.CInt = 0
Fl_BeepType_Message: t.CInt = 1
Fl_BeepType_Error: t.CInt = 2
Fl_BeepType_Question: t.CInt = 3
Fl_BeepType_Password: t.CInt = 4
Fl_FileChooserType_Single: t.CInt = 0
Fl_FileChooserType_Multi: t.CInt = 1
Fl_FileChooserType_Create: t.CInt = 2
Fl_FileChooserType_Directory: t.CInt = 3
Fl_NativeFileChooserType_BrowseFile: t.CInt = 0
Fl_NativeFileChooserType_BrowseDirectory: t.CInt = 1
Fl_NativeFileChooserType_MultiFile: t.CInt = 2
Fl_NativeFileChooserType_MultiDirectory: t.CInt = 3
Fl_NativeFileChooserType_SaveFile: t.CInt = 4
Fl_NativeFileChooserType_SaveDirectory: t.CInt = 5
Fl_NativeFileChooserOption_NoOptions: t.CInt = 0
Fl_NativeFileChooserOption_SaveAsConfirm: t.CInt = 1
Fl_NativeFileChooserOption_NewFolder: t.CInt = 2
Fl_NativeFileChooserOption_Preview: t.CInt = 4
Fl_NativeFileChooserOption_UseFilterExt: t.CInt = 8
Fl_LineStyle_Solid: t.CInt = 0
Fl_LineStyle_Dash: t.CInt = 1
Fl_LineStyle_Dot: t.CInt = 2
Fl_LineStyle_DashDot: t.CInt = 3
Fl_LineStyle_DashDotDot: t.CInt = 4
Fl_LineStyle_CapFlat: t.CInt = 100
Fl_LineStyle_CapRound: t.CInt = 200
Fl_LineStyle_CapSquare: t.CInt = 300
Fl_LineStyle_JoinMiter: t.CInt = 1000
Fl_LineStyle_JoinRound: t.CInt = 2000
Fl_LineStyle_JoinBevel: t.CInt = 2001
Fl_LabelType_Normal: t.CInt = 0
Fl_LabelType_None: t.CInt = 1
Fl_LabelType_Shadow: t.CInt = 2
Fl_LabelType_Engraved: t.CInt = 3
Fl_LabelType_Embossed: t.CInt = 4
Fl_LabelType_Multi: t.CInt = 5
Fl_LabelType_Icon: t.CInt = 6
Fl_LabelType_Image: t.CInt = 7
Fl_BoxType_NoBox: t.CInt = 0
Fl_BoxType_FlatBox: t.CInt = 1
Fl_BoxType_UpBox: t.CInt = 2
Fl_BoxType_DownBox: t.CInt = 3
Fl_BoxType_UpFrame: t.CInt = 4
Fl_BoxType_DownFrame: t.CInt = 5
Fl_BoxType_ThinUpBox: t.CInt = 6
Fl_BoxType_ThinDownBox: t.CInt = 7
Fl_BoxType_ThinUpFrame: t.CInt = 8
Fl_BoxType_ThinDownFrame: t.CInt = 9
Fl_BoxType_EngraveBox: t.CInt = 10
Fl_BoxType_EmbossedBox: t.CInt = 11
Fl_BoxType_EngravedFrame: t.CInt = 12
Fl_BoxType_EmbossedFrame: t.CInt = 13
Fl_BoxType_BorderBox: t.CInt = 14
Fl_BoxType_ShadowBox: t.CInt = 15
Fl_BoxType_BorderFrame: t.CInt = 16
Fl_BoxType_ShadowFrame: t.CInt = 17
Fl_BoxType_RoundedBox: t.CInt = 18
Fl_BoxType_RShadowBox: t.CInt = 19
Fl_BoxType_RoundedFrame: t.CInt = 20
Fl_BoxType_RFlatBox: t.CInt = 21
Fl_BoxType_RoundUpBox: t.CInt = 22
Fl_BoxType_RoundDownBox: t.CInt = 23
Fl_BoxType_DiamondUpBox: t.CInt = 24
Fl_BoxType_DiamondDownBox: t.CInt = 25
Fl_BoxType_OvalBox: t.CInt = 26
Fl_BoxType_OShadowBox: t.CInt = 27
Fl_BoxType_OvalFrame: t.CInt = 28
Fl_BoxType_OFlatBox: t.CInt = 29
Fl_BoxType_PlasticUpBox: t.CInt = 30
Fl_BoxType_PlasticDownBox: t.CInt = 31
Fl_BoxType_PlasticUpFrame: t.CInt = 32
Fl_BoxType_PlasticDownFrame: t.CInt = 33
Fl_BoxType_PlasticThinUpBox: t.CInt = 34
Fl_BoxType_PlasticThinDownBox: t.CInt = 35
Fl_BoxType_PlasticRoundUpBox: t.CInt = 36
Fl_BoxType_PlasticRoundDownBox: t.CInt = 37
Fl_BoxType_GtkUpBox: t.CInt = 38
Fl_BoxType_GtkDownBox: t.CInt = 39
Fl_BoxType_GtkUpFrame: t.CInt = 40
Fl_BoxType_GtkDownFrame: t.CInt = 41
Fl_BoxType_GtkThinUpBox: t.CInt = 42
Fl_BoxType_GtkThinDownBox: t.CInt = 43
Fl_BoxType_GtkThinUpFrame: t.CInt = 44
Fl_BoxType_GtkThinDownFrame: t.CInt = 45
Fl_BoxType_GtkRoundUpFrame: t.CInt = 46
Fl_BoxType_GtkRoundDownFrame: t.CInt = 47
Fl_BoxType_GleamUpBox: t.CInt = 48
Fl_BoxType_GleamDownBox: t.CInt = 49
Fl_BoxType_GleamUpFrame: t.CInt = 50
Fl_BoxType_GleamDownFrame: t.CInt = 51
Fl_BoxType_GleamThinUpBox: t.CInt = 52
Fl_BoxType_GleamThinDownBox: t.CInt = 53
Fl_BoxType_GleamRoundUpBox: t.CInt = 54
Fl_BoxType_GleamRoundDownBox: t.CInt = 55
Fl_Align_Center: t.CInt = 0
Fl_Align_Top: t.CInt = 1
Fl_Align_Bottom: t.CInt = 2
Fl_Align_Left: t.CInt = 4
Fl_Align_Right: t.CInt = 8
Fl_Align_Inside: t.CInt = 16
Fl_Align_TextOverImage: t.CInt = 32
Fl_Align_ImageOverText: t.CInt = 0
Fl_Align_NoWrap: t.CInt = 0
Fl_Align_Clip: t.CInt = 64
Fl_Align_Wrap: t.CInt = 128
Fl_Align_ImageNextToText: t.CInt = 256
Fl_Align_TextNextToImage: t.CInt = 288
Fl_Align_ImageBackdrop: t.CInt = 512
Fl_Align_TopLeft: t.CInt = 5
Fl_Align_TopRight: t.CInt = 9
Fl_Align_BottomLeft: t.CInt = 6
Fl_Align_BottomRight: t.CInt = 10
Fl_Align_LeftTop: t.CInt = 7
Fl_Align_RightTop: t.CInt = 11
Fl_Align_LeftBottom: t.CInt = 13
Fl_Align_RightBottom: t.CInt = 14
Fl_Align_PositionMask: t.CInt = 15
Fl_Align_ImageMask: t.CInt = 16
Fl_Font_Helvetica: t.CInt = 0
Fl_Font_HelveticaBold: t.CInt = 1
Fl_Font_HelveticaItalic: t.CInt = 2
Fl_Font_HelveticaBoldItalic: t.CInt = 3
Fl_Font_Courier: t.CInt = 4
Fl_Font_CourierBold: t.CInt = 5
Fl_Font_CourierItalic: t.CInt = 6
Fl_Font_CourierBoldItalic: t.CInt = 7
Fl_Font_Times: t.CInt = 8
Fl_Font_TimesBold: t.CInt = 9
Fl_Font_TimesItalic: t.CInt = 10
Fl_Font_TimesBoldItalic: t.CInt = 11
Fl_Font_Symbol: t.CInt = 12
Fl_Font_Screen: t.CInt = 13
Fl_Font_ScreenBold: t.CInt = 14
Fl_Font_Zapfdingbats: t.CInt = 15
Fl_Color_ForeGround: t.CInt = 0
Fl_Color_Foreground: t.CInt = 0
Fl_Color_BackGround2: t.CInt = 7
Fl_Color_Background2: t.CInt = 7
Fl_Color_Inactive: t.CInt = 8
Fl_Color_Selection: t.CInt = 15
Fl_Color_Gray0: t.CInt = 32
Fl_Color_Dark3: t.CInt = 39
Fl_Color_Dark2: t.CInt = 45
Fl_Color_Dark1: t.CInt = 47
Fl_Color_FrameDefault: t.CInt = 49
Fl_Color_BackGround: t.CInt = 49
Fl_Color_Background: t.CInt = 49
Fl_Color_Light1: t.CInt = 50
Fl_Color_Light2: t.CInt = 52
Fl_Color_Light3: t.CInt = 54
Fl_Color_Black: t.CInt = 56
Fl_Color_Red: t.CInt = 88
Fl_Color_Green: t.CInt = 63
Fl_Color_Yellow: t.CInt = 95
Fl_Color_Blue: t.CInt = 216
Fl_Color_Magenta: t.CInt = 248
Fl_Color_Cyan: t.CInt = 223
Fl_Color_DarkRed: t.CInt = 72
Fl_Color_DarkGreen: t.CInt = 60
Fl_Color_DarkYellow: t.CInt = 76
Fl_Color_DarkBlue: t.CInt = 136
Fl_Color_DarkMagenta: t.CInt = 152
Fl_Color_DarkCyan: t.CInt = 140
Fl_Color_White: t.CInt = 141
Fl_Event_None: t.CInt = 0
Fl_Event_Push: t.CInt = 1
Fl_Event_Released: t.CInt = 2
Fl_Event_Enter: t.CInt = 3
Fl_Event_Leave: t.CInt = 4
Fl_Event_Drag: t.CInt = 5
Fl_Event_Focus: t.CInt = 6
Fl_Event_Unfocus: t.CInt = 7
Fl_Event_KeyDown: t.CInt = 8
Fl_Event_KeyUp: t.CInt = 9
Fl_Event_Close: t.CInt = 10
Fl_Event_Move: t.CInt = 11
Fl_Event_Shortcut: t.CInt = 12
Fl_Event_Deactivate: t.CInt = 13
Fl_Event_Activate: t.CInt = 14
Fl_Event_Hide: t.CInt = 15
Fl_Event_Show: t.CInt = 16
Fl_Event_Paste: t.CInt = 17
Fl_Event_SelectionClear: t.CInt = 18
Fl_Event_MouseWheel: t.CInt = 19
Fl_Event_DndEnter: t.CInt = 20
Fl_Event_DndDrag: t.CInt = 21
Fl_Event_DndLeave: t.CInt = 22
Fl_Event_DndRelease: t.CInt = 23
Fl_Event_ScreenConfigChanged: t.CInt = 24
Fl_Event_Fullscreen: t.CInt = 25
Fl_Event_ZoomGesture: t.CInt = 26
Fl_Event_ZoomEvent: t.CInt = 27
Fl_Key_None: t.CInt = 0
Fl_Key_Button: t.CInt = 65256
Fl_Key_BackSpace: t.CInt = 65288
Fl_Key_Tab: t.CInt = 65289
Fl_Key_IsoKey: t.CInt = 65292
Fl_Key_Enter: t.CInt = 65293
Fl_Key_Pause: t.CInt = 65299
Fl_Key_ScrollLock: t.CInt = 65300
Fl_Key_Escape: t.CInt = 65307
Fl_Key_Kana: t.CInt = 65326
Fl_Key_Eisu: t.CInt = 65327
Fl_Key_Yen: t.CInt = 65328
Fl_Key_JISUnderscore: t.CInt = 65329
Fl_Key_Home: t.CInt = 65360
Fl_Key_Left: t.CInt = 65361
Fl_Key_Up: t.CInt = 65362
Fl_Key_Right: t.CInt = 65363
Fl_Key_Down: t.CInt = 65364
Fl_Key_PageUp: t.CInt = 65365
Fl_Key_PageDown: t.CInt = 65366
Fl_Key_End: t.CInt = 65367
Fl_Key_Print: t.CInt = 65377
Fl_Key_Insert: t.CInt = 65379
Fl_Key_Menu: t.CInt = 65383
Fl_Key_Help: t.CInt = 65384
Fl_Key_NumLock: t.CInt = 65407
Fl_Key_KP: t.CInt = 65408
Fl_Key_KPEnter: t.CInt = 65421
Fl_Key_KPLast: t.CInt = 65469
Fl_Key_F1: t.CInt = 65470
Fl_Key_F2: t.CInt = 65471
Fl_Key_F3: t.CInt = 65472
Fl_Key_F4: t.CInt = 65473
Fl_Key_F5: t.CInt = 65474
Fl_Key_F6: t.CInt = 65475
Fl_Key_F7: t.CInt = 65476
Fl_Key_F8: t.CInt = 65477
Fl_Key_F9: t.CInt = 65478
Fl_Key_F10: t.CInt = 65479
Fl_Key_F11: t.CInt = 65480
Fl_Key_F12: t.CInt = 65481
Fl_Key_FLast: t.CInt = 65504
Fl_Key_ShiftL: t.CInt = 65505
Fl_Key_ShiftR: t.CInt = 65506
Fl_Key_ControlL: t.CInt = 65507
Fl_Key_ControlR: t.CInt = 65508
Fl_Key_CapsLock: t.CInt = 65509
Fl_Key_MetaL: t.CInt = 65511
Fl_Key_MetaR: t.CInt = 65512
Fl_Key_AltL: t.CInt = 65513
Fl_Key_AltR: t.CInt = 65514
Fl_Key_Delete: t.CInt = 65515
Fl_Shortcut_None: t.CInt = 0
Fl_Shortcut_Shift: t.CInt = 65536
Fl_Shortcut_CapsLock: t.CInt = 131072
Fl_Shortcut_Ctrl: t.CInt = 262144
Fl_Shortcut_Alt: t.CInt = 524288
Fl_Shortcut_Meta: t.CInt = 4194304
Fl_Shortcut_Button1: t.CInt = 16777216
Fl_Shortcut_Button2: t.CInt = 33554432
Fl_Shortcut_Button3: t.CInt = 67108864
Fl_Shortcut_Buttons: t.CInt = 67108865
Fl_CallbackTrigger_Never: t.CInt = 0
Fl_CallbackTrigger_Changed: t.CInt = 1
Fl_CallbackTrigger_NotChanged: t.CInt = 2
Fl_CallbackTrigger_Release: t.CInt = 4
Fl_CallbackTrigger_ReleaseAlways: t.CInt = 6
Fl_CallbackTrigger_EnterKey: t.CInt = 8
Fl_CallbackTrigger_EnterKeyAlways: t.CInt = 10
Fl_CallbackTrigger_EnterKeyChanged: t.CInt = 11
Fl_TextCursor_Normal: t.CInt = 0
Fl_TextCursor_Caret: t.CInt = 1
Fl_TextCursor_Dim: t.CInt = 2
Fl_TextCursor_Block: t.CInt = 3
Fl_TextCursor_Heavy: t.CInt = 4
Fl_Cursor_Default: t.CInt = 0
Fl_Cursor_Arrow: t.CInt = 35
Fl_Cursor_Cross: t.CInt = 66
Fl_Cursor_Wait: t.CInt = 76
Fl_Cursor_Insert: t.CInt = 77
Fl_Cursor_Hand: t.CInt = 31
Fl_Cursor_Help: t.CInt = 47
Fl_Cursor_Move: t.CInt = 27
Fl_Cursor_NS: t.CInt = 78
Fl_Cursor_WE: t.CInt = 79
Fl_Cursor_NWSE: t.CInt = 80
Fl_Cursor_NESW: t.CInt = 81
Fl_Cursor_N: t.CInt = 70
Fl_Cursor_NE: t.CInt = 69
Fl_Cursor_E: t.CInt = 49
Fl_Cursor_SE: t.CInt = 8
Fl_Cursor_S: t.CInt = 9
Fl_Cursor_SW: t.CInt = 7
Fl_Cursor_W: t.CInt = 36
Fl_Cursor_NW: t.CInt = 68
Fl_Cursor_None: t.CInt = 69
Fl_Mode_Rgb: t.CInt = 0
Fl_Mode_Index: t.CInt = 1
Fl_Mode_Double: t.CInt = 2
Fl_Mode_Accum: t.CInt = 4
Fl_Mode_Alpha: t.CInt = 8
Fl_Mode_Depth: t.CInt = 16
Fl_Mode_Stencil: t.CInt = 32
Fl_Mode_Rgb8: t.CInt = 64
Fl_Mode_MultiSample: t.CInt = 128
Fl_Mode_Stereo: t.CInt = 256
Fl_Mode_FakeSingle: t.CInt = 512
Fl_Mode_Opengl3: t.CInt = 513
Fl_PackType_Vertical: t.CInt = 0
Fl_PackType_Horizontal: t.CInt = 1
Fl_ScrollType_None: t.CInt = 0
Fl_ScrollType_Horizontal: t.CInt = 1
Fl_ScrollType_Vertical: t.CInt = 2
Fl_ScrollType_Both: t.CInt = 3
Fl_ScrollType_AlwaysOn: t.CInt = 4
Fl_ScrollType_HorizontalAlways: t.CInt = 5
Fl_ScrollType_VerticalAlways: t.CInt = 6
Fl_ScrollType_BothAlways: t.CInt = 7
Fl_InputType_Normal: t.CInt = 0
Fl_InputType_Float: t.CInt = 1
Fl_InputType_Int: t.CInt = 2
Fl_InputType_Multiline: t.CInt = 4
Fl_InputType_Secret: t.CInt = 5
Fl_InputType_Input: t.CInt = 7
Fl_InputType_Readonly: t.CInt = 8
Fl_InputType_Wrap: t.CInt = 9
Fl_OutputType_Normal: t.CInt = 8
Fl_OutputType_Multiline: t.CInt = 9
Fl_MenuFlag_Normal: t.CInt = 0
Fl_MenuFlag_Inactive: t.CInt = 1
Fl_MenuFlag_Toggle: t.CInt = 2
Fl_MenuFlag_Value: t.CInt = 4
Fl_MenuFlag_Radio: t.CInt = 8
Fl_MenuFlag_Invisible: t.CInt = 16
Fl_MenuFlag_SubmenuPointer: t.CInt = 32
Fl_MenuFlag_Submenu: t.CInt = 64
Fl_MenuFlag_MenuDivider: t.CInt = 128
Fl_MenuFlag_MenuHorizontal: t.CInt = 129
Fl_ChartType_Bar: t.CInt = 0
Fl_ChartType_HorizontalBar: t.CInt = 1
Fl_ChartType_Line: t.CInt = 2
Fl_ChartType_Fill: t.CInt = 3
Fl_ChartType_Spike: t.CInt = 4
Fl_ChartType_Pie: t.CInt = 5
Fl_ChartType_SpecialPie: t.CInt = 6
Fl_ClockType_Square: t.CInt = 0
Fl_ClockType_Round: t.CInt = 1
Fl_TableContext_None: t.CInt = 0
Fl_TableContext_StartPage: t.CInt = 1
Fl_TableContext_EndPage: t.CInt = 2
Fl_TableContext_RowHeader: t.CInt = 4
Fl_TableContext_ColHeader: t.CInt = 8
Fl_TableContext_Cell: t.CInt = 16
Fl_TableContext_Table: t.CInt = 32
Fl_TableContext_RcResize: t.CInt = 33
Fl_TableRowSelectMode_None: t.CInt = 0
Fl_TableRowSelectMode_Single: t.CInt = 1
Fl_TreeSort_None: t.CInt = 0
Fl_TreeSort_Ascending: t.CInt = 1
Fl_TreeSort_Descending: t.CInt = 2
Fl_TreeConnectorStyle_None: t.CInt = 0
Fl_TreeConnectorStyle_Dotted: t.CInt = 1
Fl_TreeConnectorStyle_Solid: t.CInt = 2
Fl_TreeSelect_None: t.CInt = 0
Fl_TreeSelect_Single: t.CInt = 1
Fl_TreeSelect_Multi: t.CInt = 2
Fl_TreeSelect_SingleDraggable: t.CInt = 3
Fl_TreeItemSelect_Deselect: t.CInt = 0
Fl_TreeItemSelect_Select: t.CInt = 1
Fl_TreeItemSelect_Toggle: t.CInt = 2
Fl_TreeReason_None: t.CInt = 0
Fl_TreeReason_Selected: t.CInt = 1
Fl_TreeReason_Deselected: t.CInt = 2
Fl_TreeReason_Reselected: t.CInt = 3
Fl_TreeReason_Opened: t.CInt = 4
Fl_TreeReason_Closed: t.CInt = 5
Fl_TreeItemReselectMode_Once: t.CInt = 0
Fl_TreeItemDrawMode_Default: t.CInt = 0
Fl_TreeItemDrawMode_LabelAndWidget: t.CInt = 1
Fl_TreeItemDrawMode_HeightFromWidget: t.CInt = 2
Fl_SliderType_Vertical: t.CInt = 0
Fl_SliderType_Horizontal: t.CInt = 1
Fl_SliderType_VerticalFill: t.CInt = 2
Fl_SliderType_HorizontalFill: t.CInt = 3
Fl_SliderType_VerticalNice: t.CInt = 4
Fl_SliderType_HorizontalNice: t.CInt = 5
Fl_DialType_Normal: t.CInt = 0
Fl_DialType_Line: t.CInt = 1
Fl_DialType_Fill: t.CInt = 2
Fl_CounterType_Normal: t.CInt = 0
Fl_CounterType_Simple: t.CInt = 1
Fl_ScrollbarType_Vertical: t.CInt = 0
Fl_ScrollbarType_Horizontal: t.CInt = 1
Fl_ScrollbarType_VerticalFill: t.CInt = 2
Fl_ScrollbarType_HorizontalFill: t.CInt = 3
Fl_ScrollbarType_VerticalNice: t.CInt = 4
Fl_ScrollbarType_HorizontalNice: t.CInt = 5
Fl_WindowType_Normal: t.CInt = 240
Fl_WindowType_Double: t.CInt = 241
Fl_Wrap_None: t.CInt = 0
Fl_Wrap_At_Column: t.CInt = 1
Fl_Wrap_At_Pixel: t.CInt = 2
Fl_Drag_None: t.CInt = -2
Fl_Drag_Start_Dnd: t.CInt = -1
Fl_Drag_Char: t.CInt = 0
Fl_Drag_Word: t.CInt = 1
Fl_Drag_Line: t.CInt = 2
Fl_Damage_Child: t.CInt = 0
Popup1: t.CInt = 1
Popup2: t.CInt = 2
Popup12: t.CInt = 3
Popup3: t.CInt = 4
Popup13: t.CInt = 5
Popup23: t.CInt = 6
Fl_FlexType_Column: t.CInt = 0
Fl_RgbScaling_Nearest: t.CInt = 0
Fl_Table_RESIZE_NONE: t.CInt = 0
Fl_Table_RESIZE_COL_LEFT: t.CInt = 1
Fl_Table_RESIZE_COL_RIGHT: t.CInt = 2
Fl_Table_RESIZE_ROW_ABOVE: t.CInt = 3
Fl_Table_RESIZE_ROW_BELOW: t.CInt = 4
-118
View File
@@ -1,118 +0,0 @@
import t, c
# ============================================================
# fltk/_types.vp — FLTK 不透明对象指针 typedef(对接 cfltk C API)
# ============================================================
# 所有 FLTK C++ 对象在 FFI 中一律按不透明指针处理,生命周期由
# cfltk/fltk 库管理(new/delete 见各 *_delete / *_free)。
Fl_AdjusterPtr: t.CTypedef = t.CPtr
Fl_Anim_GIF_ImagePtr: t.CTypedef = t.CPtr
Fl_BMP_ImagePtr: t.CTypedef = t.CPtr
Fl_BoxPtr: t.CTypedef = t.CPtr
Fl_BrowserPtr: t.CTypedef = t.CPtr
Fl_ButtonPtr: t.CTypedef = t.CPtr
Fl_ChartPtr: t.CTypedef = t.CPtr
Fl_Check_BrowserPtr: t.CTypedef = t.CPtr
Fl_Check_ButtonPtr: t.CTypedef = t.CPtr
Fl_ChoicePtr: t.CTypedef = t.CPtr
Fl_ClockPtr: t.CTypedef = t.CPtr
Fl_Color_ChooserPtr: t.CTypedef = t.CPtr
Fl_CounterPtr: t.CTypedef = t.CPtr
Fl_DialPtr: t.CTypedef = t.CPtr
Fl_Double_WindowPtr: t.CTypedef = t.CPtr
Fl_File_BrowserPtr: t.CTypedef = t.CPtr
Fl_File_ChooserPtr: t.CTypedef = t.CPtr
Fl_File_InputPtr: t.CTypedef = t.CPtr
Fl_Fill_DialPtr: t.CTypedef = t.CPtr
Fl_Fill_SliderPtr: t.CTypedef = t.CPtr
Fl_FlexPtr: t.CTypedef = t.CPtr
Fl_Float_InputPtr: t.CTypedef = t.CPtr
Fl_GIF_ImagePtr: t.CTypedef = t.CPtr
Fl_Gl_WindowPtr: t.CTypedef = t.CPtr
Fl_Glut_WindowPtr: t.CTypedef = t.CPtr
Fl_GridPtr: t.CTypedef = t.CPtr
Fl_GroupPtr: t.CTypedef = t.CPtr
Fl_Help_DialogPtr: t.CTypedef = t.CPtr
Fl_Help_ViewPtr: t.CTypedef = t.CPtr
Fl_Hold_BrowserPtr: t.CTypedef = t.CPtr
Fl_Hor_Fill_SliderPtr: t.CTypedef = t.CPtr
Fl_Hor_Nice_SliderPtr: t.CTypedef = t.CPtr
Fl_Hor_SliderPtr: t.CTypedef = t.CPtr
Fl_Hor_Value_SliderPtr: t.CTypedef = t.CPtr
Fl_ICO_ImagePtr: t.CTypedef = t.CPtr
Fl_ImagePtr: t.CTypedef = t.CPtr
Fl_Image_SurfacePtr: t.CTypedef = t.CPtr
Fl_InputPtr: t.CTypedef = t.CPtr
Fl_Input_ChoicePtr: t.CTypedef = t.CPtr
Fl_Int_InputPtr: t.CTypedef = t.CPtr
Fl_JPEG_ImagePtr: t.CTypedef = t.CPtr
Fl_Light_ButtonPtr: t.CTypedef = t.CPtr
Fl_Line_DialPtr: t.CTypedef = t.CPtr
Fl_Menu_BarPtr: t.CTypedef = t.CPtr
Fl_Menu_ButtonPtr: t.CTypedef = t.CPtr
Fl_Menu_ItemPtr: t.CTypedef = t.CPtr
Fl_Menu_WindowPtr: t.CTypedef = t.CPtr
Fl_Multi_BrowserPtr: t.CTypedef = t.CPtr
Fl_Multiline_InputPtr: t.CTypedef = t.CPtr
Fl_Multiline_OutputPtr: t.CTypedef = t.CPtr
Fl_Native_File_ChooserPtr: t.CTypedef = t.CPtr
Fl_Nice_SliderPtr: t.CTypedef = t.CPtr
Fl_OutputPtr: t.CTypedef = t.CPtr
Fl_Overlay_GroupPtr: t.CTypedef = t.CPtr
Fl_Overlay_WindowPtr: t.CTypedef = t.CPtr
Fl_PNG_ImagePtr: t.CTypedef = t.CPtr
Fl_PNM_ImagePtr: t.CTypedef = t.CPtr
Fl_PackPtr: t.CTypedef = t.CPtr
Fl_PixmapPtr: t.CTypedef = t.CPtr
Fl_PreferencesPtr: t.CTypedef = t.CPtr
Fl_PrinterPtr: t.CTypedef = t.CPtr
Fl_ProgressPtr: t.CTypedef = t.CPtr
Fl_RGB_ImagePtr: t.CTypedef = t.CPtr
Fl_Radio_ButtonPtr: t.CTypedef = t.CPtr
Fl_Radio_Light_ButtonPtr: t.CTypedef = t.CPtr
Fl_Radio_Round_ButtonPtr: t.CTypedef = t.CPtr
Fl_Repeat_ButtonPtr: t.CTypedef = t.CPtr
Fl_Return_ButtonPtr: t.CTypedef = t.CPtr
Fl_RollerPtr: t.CTypedef = t.CPtr
Fl_Round_ButtonPtr: t.CTypedef = t.CPtr
Fl_SVG_File_SurfacePtr: t.CTypedef = t.CPtr
Fl_SVG_ImagePtr: t.CTypedef = t.CPtr
Fl_ScrollPtr: t.CTypedef = t.CPtr
Fl_ScrollbarPtr: t.CTypedef = t.CPtr
Fl_Secret_InputPtr: t.CTypedef = t.CPtr
Fl_Select_BrowserPtr: t.CTypedef = t.CPtr
Fl_Shared_ImagePtr: t.CTypedef = t.CPtr
Fl_Shortcut_ButtonPtr: t.CTypedef = t.CPtr
Fl_Simple_CounterPtr: t.CTypedef = t.CPtr
Fl_Simple_TerminalPtr: t.CTypedef = t.CPtr
Fl_Single_WindowPtr: t.CTypedef = t.CPtr
Fl_SliderPtr: t.CTypedef = t.CPtr
Fl_SpinnerPtr: t.CTypedef = t.CPtr
Fl_Surface_DevicePtr: t.CTypedef = t.CPtr
Fl_Sys_Menu_BarPtr: t.CTypedef = t.CPtr
Fl_TablePtr: t.CTypedef = t.CPtr
Fl_Table_RowPtr: t.CTypedef = t.CPtr
Fl_TabsPtr: t.CTypedef = t.CPtr
Fl_TerminalPtr: t.CTypedef = t.CPtr
Fl_Terminal_ScrollbarPtr: t.CTypedef = t.CPtr
Fl_Terminal_Utf8CharPtr: t.CTypedef = t.CPtr
Fl_Text_BufferPtr: t.CTypedef = t.CPtr
Fl_Text_DisplayPtr: t.CTypedef = t.CPtr
Fl_Text_EditorPtr: t.CTypedef = t.CPtr
Fl_TilePtr: t.CTypedef = t.CPtr
Fl_Tiled_ImagePtr: t.CTypedef = t.CPtr
Fl_Toggle_ButtonPtr: t.CTypedef = t.CPtr
Fl_TreePtr: t.CTypedef = t.CPtr
Fl_Tree_ItemPtr: t.CTypedef = t.CPtr
Fl_Tree_Item_ArrayPtr: t.CTypedef = t.CPtr
Fl_Value_InputPtr: t.CTypedef = t.CPtr
Fl_Value_OutputPtr: t.CTypedef = t.CPtr
Fl_Value_SliderPtr: t.CTypedef = t.CPtr
Fl_WidgetPtr: t.CTypedef = t.CPtr
Fl_Widget_TrackerPtr: t.CTypedef = t.CPtr
Fl_WindowPtr: t.CTypedef = t.CPtr
Fl_WizardPtr: t.CTypedef = t.CPtr
Fl_XBM_ImagePtr: t.CTypedef = t.CPtr
Fl_XPM_ImagePtr: t.CTypedef = t.CPtr
-92
View File
@@ -1,92 +0,0 @@
---
Language: Cpp
AccessModifierOffset: -2
AlignAfterOpenBracket: BlockIndent
AlignConsecutiveAssignments: true
AlignConsecutiveDeclarations: false
AlignEscapedNewlines: Right
AlignOperands: true
AlignTrailingComments: true
AllowAllParametersOfDeclarationOnNextLine: true
AllowShortBlocksOnASingleLine: false
AllowShortCaseLabelsOnASingleLine: false
AllowShortFunctionsOnASingleLine: false
AllowShortIfStatementsOnASingleLine: false
AllowShortLoopsOnASingleLine: false
AlwaysBreakAfterDefinitionReturnType: None
AlwaysBreakAfterReturnType: None
AlwaysBreakBeforeMultilineStrings: false
AlwaysBreakTemplateDeclarations: true
BinPackArguments: false
BinPackParameters: false
BreakBeforeBraces: Custom
BraceWrapping:
AfterClass: false
AfterControlStatement: false
AfterEnum: false
AfterFunction: false
AfterNamespace: false
AfterObjCDeclaration: false
AfterStruct: false
AfterUnion: false
AfterExternBlock: false
BeforeCatch: false
BeforeElse: false
IndentBraces: false
SplitEmptyFunction: false
SplitEmptyRecord: false
SplitEmptyNamespace: false
BreakBeforeBinaryOperators: None
BreakBeforeInheritanceComma: false
BreakBeforeTernaryOperators: true
BreakConstructorInitializersBeforeComma: false
BreakConstructorInitializers: BeforeColon
BreakStringLiterals: true
ColumnLimit: 80
CommentPragmas: '^ IWYU pragma:'
CompactNamespaces: false
ConstructorInitializerAllOnOneLineOrOnePerLine: false
ConstructorInitializerIndentWidth: 4
ContinuationIndentWidth: 4
Cpp11BracedListStyle: true
DerivePointerAlignment: false
DisableFormat: false
ExperimentalAutoDetectBinPacking: false
FixNamespaceComments: true
IncludeBlocks: Preserve
IndentCaseLabels: false
IndentPPDirectives: None
IndentWidth: 4
IndentWrappedFunctionNames: false
KeepEmptyLinesAtTheStartOfBlocks: true
MacroBlockBegin: ''
MacroBlockEnd: ''
MaxEmptyLinesToKeep: 1
NamespaceIndentation: None
PenaltyBreakAssignment: 2
PenaltyBreakBeforeFirstCallParameter: 19
PenaltyBreakComment: 300
PenaltyBreakFirstLessLess: 120
PenaltyBreakString: 1000
PenaltyExcessCharacter: 1000000
PenaltyReturnTypeOnItsOwnLine: 60
PointerAlignment: Right
ReflowComments: true
SortIncludes: true
SortUsingDeclarations: true
SpaceAfterCStyleCast: false
SpaceAfterTemplateKeyword: true
SpaceBeforeAssignmentOperators: true
SpaceBeforeParens: ControlStatements
SpaceInEmptyParentheses: false
SpacesBeforeTrailingComments: 1
SpacesInAngles: false
SpacesInContainerLiterals: true
SpacesInCStyleCastParentheses: false
SpacesInParentheses: false
SpacesInSquareBrackets: false
Standard: Cpp11
TabWidth: 8
UseTab: Never
...
-22
View File
@@ -1,22 +0,0 @@
---
Checks: 'clang-diagnostic-*,
clang-analyzer-*,
cppcoreguidelines-*,
modernize-*,
cert-*,
-modernize-use-trailing-return-type,
-cppcoreguidelines-pro-bounds-pointer-arithmetic,
-cppcoreguidelines-owning-memory,
-cppcoreguidelines-pro-bounds-array-to-pointer-decay,
-cppcoreguidelines-macro-usage,
-cppcoreguidelines-avoid-magic-numbers,
-cppcoreguidelines-pro-type-const-cast,
-cppcoreguidelines-pro-type-cstyle-cast,
-modernize-deprecated-headers,
-modernize-use-override,
-cppcoreguidelines-pro-type-vararg,
-cppcoreguidelines-avoid-c-arrays,
-modernize-avoid-c-arrays,
-cppcoreguidelines-pro-bounds-constant-array-index'
WarningsAsErrors: true
HeaderFilterRegex: ''
-24
View File
@@ -1,24 +0,0 @@
CMakeLists.txt.user
CMakeCache.txt
CMakeFiles
CMakeScripts
Testing
Makefile
cmake_install.cmake
install_manifest.txt
compile_commands.json
CTestTestfile.cmake
_deps
temp.*
.DS_Store
compile_commands.json
/.clangd
/bin
/temp
/.cache
/examples/bin
/out
/\.vs/cfltk/FileContentIndex
/\.vs/cfltk/v17
.*\.sqlite
/build
-4
View File
@@ -1,4 +0,0 @@
[submodule "fltk"]
path = fltk
url = https://github.com/fltk/fltk
branch = master
-253
View File
@@ -1,253 +0,0 @@
cmake_minimum_required(VERSION 3.28)
set(CFLTK_PROJECT_VERSION 0.1.8)
project(
cfltk2
HOMEPAGE_URL https://github.com/MoAlyousef/cfltk
DESCRIPTION "C Bindings for FLTK"
VERSION ${CFLTK_PROJECT_VERSION}
LANGUAGES C CXX)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON)
include(GNUInstallDirs)
if(APPLE)
enable_language(OBJC)
endif()
option(CFLTK_BUILD_SHARED "Builds a shared library" OFF)
option(USE_SYSTEM_FLTK "Finds and uses the installed FLTK library" OFF)
option(CFLTK_USE_OPENGL "Uses OpenGL" OFF)
option(CFLTK_SINGLE_THREADED "Disable multithreaded support" OFF)
option(CFLTK_LINK_IMAGES "Links image libraries" ON)
option(CFLTK_CARGO_BUILD "cfltk2 is built using Cargo" OFF)
option(CFLTK_MSVC_CRT_STATIC "cfltk2 is built with crt-static" OFF)
option(CFLTK_USE_CAIROEXT "Uses CairoExt FLTK feature" OFF)
option(CFLTK_USE_FPIC "Compile code with -fPIC to allow incorporation into shared lib." OFF)
option(CFLTK_SYSTEM_JPEG "Link installed libjpeg" OFF)
option(CFLTK_SYSTEM_PNG "Link installed libpng" OFF)
option(CFLTK_SYSTEM_ZLIB "Link installed zlib" OFF)
if (CFLTK_USE_FPIC OR CFLTK_BUILD_SHARED)
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
endif()
if(MSVC)
string(REGEX REPLACE "/EHsc" "/EHs-c-" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
add_definitions("/D_CRT_SECURE_NO_WARNINGS /wd4099 /wd4996")
if(CFLTK_MSVC_CRT_STATIC)
set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>")
string(REGEX REPLACE "/MD" "/MT" CMAKE_CXX_FLAGS_RELEASE
"${CMAKE_CXX_FLAGS_RELEASE}")
string(REGEX REPLACE "/MD" "/MT" CMAKE_C_FLAGS_RELEASE
"${CMAKE_C_FLAGS_RELEASE}")
endif()
elseif(ANDROID)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -frtti")
else()
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-exceptions")
endif()
# If cmake can't find the installed fltk, you might have to set the FLTK_DIR
# enviromental variable, export FLTK_DIR=/path/to/fltk
if(USE_SYSTEM_FLTK)
find_package(FLTK 1.5 CONFIG REQUIRED)
else()
file(GLOB RESULT "fltk")
list(LENGTH RESULT RES_LEN)
if(RES_LEN EQUAL 0)
message(FATAL_ERROR "fltk submodule not initialized! Run: git submodule update --init --recursive")
endif()
set(FLTK_USE_SYSTEM_LIBJPEG ${CFLTK_SYSTEM_JPEG} CACHE BOOL "" FORCE)
set(FLTK_USE_SYSTEM_LIBPNG ${CFLTK_SYSTEM_PNG} CACHE BOOL "" FORCE)
set(FLTK_USE_SYSTEM_ZLIB ${CFLTK_SYSTEM_ZLIB} CACHE BOOL "" FORCE)
add_subdirectory(fltk)
endif()
file(GLOB_RECURSE CFLTK_HEADER_FILES "include/cfltk2/*.h*")
set(CFLTK_SRCS
src/cfl_new.cpp
src/cfl_lock.cpp
src/cfl.cpp
src/cfl_window.cpp
src/cfl_button.cpp
src/cfl_widget.cpp
src/cfl_group.cpp
src/cfl_text.cpp
src/cfl_box.cpp
src/cfl_input.cpp
src/cfl_menu.cpp
src/cfl_dialog.cpp
src/cfl_valuator.cpp
src/cfl_browser.cpp
src/cfl_misc.cpp
src/cfl_image.cpp
src/cfl_draw.cpp
src/cfl_table.cpp
src/cfl_tree.cpp
src/cfl_surface.cpp
src/cfl_font.cpp
src/cfl_utils.cpp
src/cfl_prefs.cpp
src/cfl_term.cpp
)
if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
set(CFLTK_SRCS ${CFLTK_SRCS} src/cfl_nswindow.m)
endif()
if(UNIX AND NOT APPLE)
set(CFLTK_SRCS ${CFLTK_SRCS} src/cfl_platform.cpp)
endif()
if(NOT ANDROID)
set(CFLTK_SRCS ${CFLTK_SRCS} src/cfl_printer.cpp)
endif()
if(CFLTK_USE_OPENGL)
set(CFLTK_SRCS ${CFLTK_SRCS} src/glad.c)
endif()
if(CFLTK_USE_CAIROEXT)
find_package(PkgConfig REQUIRED)
pkg_check_modules(CAIRO REQUIRED IMPORTED_TARGET "cairo")
endif()
if(CFLTK_BUILD_SHARED)
add_library(cfltk2 SHARED)
else()
add_library(cfltk2 STATIC)
endif()
add_library(cfltk2::cfltk2 ALIAS cfltk2)
# message(FATAL_ERROR "${CFLTK_HEADER_FILES}")
target_sources(
cfltk2
PRIVATE ${CFLTK_SRCS}
PUBLIC
FILE_SET HEADERS
BASE_DIRS ${CMAKE_CURRENT_LIST_DIR}/include
FILES "${CFLTK_HEADER_FILES}"
)
if(CFLTK_CARGO_BUILD AND CFLTK_BUILD_SHARED)
add_custom_command(
TARGET cfltk2
POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:cfltk2>
"${CMAKE_INSTALL_PREFIX}/../../../../$<TARGET_FILE_NAME:cfltk2>")
endif()
# if(CFLTK_CARGO_BUILD AND (UNIX OR MSYS OR MINGW))
# add_custom_command(
# TARGET cfltk2
# POST_BUILD
# COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_INSTALL_PREFIX}/bin/fltk-config
# "${CMAKE_INSTALL_PREFIX}/../../../../fltk-config")
# endif()
target_compile_features(cfltk2 PRIVATE cxx_std_17)
set(CFLTK_LIBS fltk::fltk)
set(pc_req_private)
set(pc_libs_private "-lfltk")
set(other_c_flags)
if(CFLTK_LINK_IMAGES)
target_compile_definitions(cfltk2 PUBLIC CFLTK_USE_IMAGES)
list(APPEND CFLTK_LIBS fltk::images)
string(APPEND pc_libs_private
" -lfltk_images")
if(NOT CFLTK_SYSTEM_JPEG)
list(APPEND CFLTK_LIBS fltk::jpeg)
string(APPEND pc_libs_private
" -lfltk_jpeg")
endif()
if(NOT CFLTK_SYSTEM_PNG)
list(APPEND CFLTK_LIBS fltk::png)
string(APPEND pc_libs_private
" -lfltk_png")
endif()
if(NOT CFLTK_SYSTEM_ZLIB)
list(APPEND CFLTK_LIBS fltk::z)
string(APPEND pc_libs_private
" -lfltk_z")
endif()
endif()
if(CFLTK_USE_OPENGL)
set(CFLTK_LIBS ${CFLTK_LIBS} fltk::gl)
target_compile_definitions(cfltk2 PUBLIC CFLTK_USE_GL)
string(APPEND pc_libs_private " -lfltk_gl")
string(APPEND other_c_flags "-DCFLTK_USE_GL")
if(UNIX AND NOT APPLE)
string(APPEND pc_req_private " glx glu gl wayland-egl EGL")
elseif(APPLE)
string(APPEND pc_libs_private " -framework OpenGL")
elseif(WIN32)
string(APPEND pc_libs_private " -lopengl32 -lglu32")
endif()
endif()
if(CFLTK_USE_CAIROEXT)
if(WIN32 OR APPLE)
string(APPEND pc_req_private " cairo")
endif()
target_link_libraries(cfltk2 PUBLIC PkgConfig::CAIRO)
endif()
if(CFLTK_SINGLE_THREADED)
target_compile_definitions(cfltk2 PUBLIC CFLTK_SINGLE_THREADED)
string(APPEND other_c_flags " -DCFLTK_SINGLE_THREADED")
endif()
target_link_libraries(cfltk2 PUBLIC ${CFLTK_LIBS})
set_target_properties(cfltk2 PROPERTIES VERSION ${CFLTK_PROJECT_VERSION})
include(CMakePackageConfigHelpers)
set(cfltk2_INSTALL_CMAKEDIR "${CMAKE_INSTALL_LIBDIR}/cmake/cfltk2")
install(
TARGETS cfltk2
EXPORT cfltk2Targets
FILE_SET HEADERS DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
)
install(
EXPORT cfltk2Targets
FILE cfltk2Targets.cmake
NAMESPACE cfltk2::
DESTINATION "${cfltk2_INSTALL_CMAKEDIR}"
)
configure_package_config_file(
"${CMAKE_CURRENT_LIST_DIR}/cmake/cfltk2Config.cmake.in"
"${CMAKE_CURRENT_BINARY_DIR}/cfltk2Config.cmake"
INSTALL_DESTINATION "${cfltk2_INSTALL_CMAKEDIR}"
NO_CHECK_REQUIRED_COMPONENTS_MACRO
)
write_basic_package_version_file(
"${CMAKE_CURRENT_BINARY_DIR}/cfltk2ConfigVersion.cmake"
VERSION ${CFLTK_PROJECT_VERSION}
COMPATIBILITY SameMajorVersion
)
install(
FILES
"${CMAKE_CURRENT_BINARY_DIR}/cfltk2Config.cmake"
"${CMAKE_CURRENT_BINARY_DIR}/cfltk2ConfigVersion.cmake"
DESTINATION "${cfltk2_INSTALL_CMAKEDIR}"
)
include(${CMAKE_CURRENT_LIST_DIR}/cmake/cfltk2-pkgconfig.cmake)
-21
View File
@@ -1,21 +0,0 @@
MIT License
Copyright (c) 2019 Mohammed Alyousef
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
-151
View File
@@ -1,151 +0,0 @@
# cfltk
C89 bindings for the FLTK gui library, which can be used as basis for C applications or for other bindings in other languages.
- The official fltk [docs](https://www.fltk.org/doc-1.4/annotated.html).
- The official fltk [repo](https://github.com/fltk/fltk).
## Api
The cfltk api follows the FLTK api mostly, which would make it easier to refer to the FLTK docs.
As an example:
```c++
Fl_Window *w = new Fl_Window(100, 100, 400, 300, "name");
w->end();
w->show();
```
becomes:
```c
Fl_Window *w = Fl_Window_new(100, 100, 400, 300, "name");
Fl_Window_end(w);
Fl_Window_show(w);
```
The fltk-rs repo shows an example wrapper around cfltk.
## Usage
To add to your project, you can add this project as a submodule:
```
$ git submodule add https://github.com/moalyousef/cfltk
$ git submodule update --init --recursive
```
or by cloning the repo:
```
$ git clone https://github.com/moalyousef/cfltk --recurse-submodules
```
You can build your project using cmake on the command line or gui:
```
$ cmake -B bin -S .
$ cmake --build bin --parallel
```
An example CMakeLists.txt file:
```cmake
cmake_minimum_required(VERSION 3.15)
project(app)
add_subdirectory(cfltk)
add_executable(main main.c)
target_link_libraries(main PRIVATE cfltk2::cfltk2 fltk::fltk fltk::images fltk::png fltk::z) # as needed
# for windows, might be needed in some setups like creating a library
target_link_libraries(main PRIVATE ws2_32 comctl32 gdi32 gdiplus oleaut32 ole32 uuid shell32 advapi32 comdlg32 winspool user32 kernel32 odbc32)
# for apple, might be needed in some setups like creating a library
target_link_libraries(main PRIVATE -framework Cocoa)
# for linux, might be needed in some setups like creating a library
target_link_libraries(main PRIVATE pthread X11 Xext Xinerama Xcursor Xrender Xfixes Xft fontconfig pango-1.0 pangoxft-1.0 gobject-2.0 cairo pangocairo-1.0)
```
Options which can be used with cmake:
```
$ cmake -B bin -S . \
-DCMAKE_BUILD_TYPE=Release \
-DFLTK_USE_SYSTEM_LIBPNG=OFF \
-DFLTK_USE_SYSTEM_LIBJPEG=OFF \
-DFLTK_USE_SYSTEM_ZLIB=OFF \
-DFLTK_BUILD_GL=OFF \
-DFLTK_BUILD_EXAMPLES=OFF \
-DFLTK_BUILD_TEST=OFF \
-DFLTK_OPTION_LARGE_FILE=ON \
-DFLTK_BUILD_HTML_DOCS=OFF \
-DFLTK_BUILD_PDF_DOCS=OFF \
```
For pango support on linux (for rtl and cjk text), you can use `-DFLTK_USE_PANGO=ON`.
Otherwise, these options can be added to the CMakeLists.txt file:
```cmake
set(FLTK_USE_SYSTEM_LIBPNG OFF CACHE BOOL " " FORCE)
set(FLTK_USE_SYSTEM_LIBJPEG OFF CACHE BOOL " " FORCE)
set(FLTK_USE_SYSTEM_ZLIB OFF CACHE BOOL " " FORCE)
set(FLTK_BUILD_GL OFF CACHE BOOL " " FORCE)
set(FLTK_BUILD_EXAMPLES OFF CACHE BOOL " " FORCE)
set(FLTK_BUILD_TEST OFF CACHE BOOL " " FORCE)
set(OPTION_LARGE_FILE ON CACHE BOOL " " FORCE)
set(FLTK_BUILD_HTML_DOCS OFF CACHE BOOL " " FORCE)
set(FLTK_BUILD_PDF_DOCS OFF CACHE BOOL " " FORCE)
```
An example app:
```c
#include <cfl.h>
#include <cfl_button.h>
#include <cfl_image.h>
#include <cfl_widget.h>
#include <cfl_window.h>
#include <stdlib.h>
void cb(Fl_Widget *w, void *data) { Fl_Widget_set_label(w, "Works!"); }
int main(void) {
Fl_init_all(); // init all styles
Fl_register_images(); // necessary for image support
Fl_lock(); // necessary for multithreaded support
Fl_Window *w = Fl_Window_new(100, 100, 400, 300, NULL);
Fl_Button *b = Fl_Button_new(160, 210, 80, 40, "Click me");
Fl_Window_end(w);
Fl_Window_show(w);
Fl_Button_set_callback(b, cb, NULL);
return Fl_run();
}
```
## Examples
More examples can be found in the examples directory.
- [counter](examples/counter.c)
![alt_test](examples/flutter_like.jpg)
## Dependencies
CMake (version > 3.7), Git and a C++17 compiler need to be installed and in your PATH for a crossplatform build from source.
- Windows:
- MSVC: Windows SDK
- Gnu: No dependencies
- MacOS: No dependencies.
- Linux: X11 and OpenGL development headers need to be installed for development. The libraries themselves are available on linux distros with a graphical user interface.
For Debian-based GUI distributions, that means running:
```
$ sudo apt-get install libx11-dev libxext-dev libxft-dev libxinerama-dev libxcursor-dev libxrender-dev libxfixes-dev libpango1.0-dev libgl1-mesa-dev libglu1-mesa-dev
```
For RHEL-based GUI distributions, that means running:
```
$ sudo yum groupinstall "X Software Development" && yum install pango-devel libXinerama-devel libstdc++-static
```
For Arch-based GUI distributions, that means running:
```
$ sudo pacman -S libx11 libxext libxft libxinerama libxcursor libxrender libxfixes pango cairo libgl mesa --needed
```
For Alpine linux:
```
$ apk add pango-dev fontconfig-dev libxinerama-dev libxfixes-dev libxcursor-dev mesa-gl
```
## Safety
Both FLTK and the wrapper are exception safe. Widget, image and Fl_Text_Buffer mutating wrapper functions are thread-safe. FLTK manages the lifetime of widgets, which would delete any child widgets when the parent is deleted. The wrapper also provides an Fl_Widget_Tracker object which can be used to prevent use-after-free errors.
The wrapper itself doesn't perform null checks on pointers returned from FLTK nor on pointers passed to it. Allocation failure should also be checked manually by the consuming user of the wrapper.
-15
View File
@@ -1,15 +0,0 @@
prefix="@CMAKE_INSTALL_PREFIX@"
exec_prefix="${prefix}"
libdir="${prefix}/lib"
includedir="${prefix}/include"
Name: @PROJECT_NAME@
Description: @CMAKE_PROJECT_DESCRIPTION@
URL: @CMAKE_PROJECT_HOMEPAGE_URL@
Version: @PROJECT_VERSION@
Requires:
Requires.private: @pc_req_private@
Cflags: -I"${includedir}" @other_c_flags@
Libs: -L"${libdir}" -l@PROJECT_NAME@
Libs.private: -L"${libdir}" -l@PROJECT_NAME@ @pc_libs_private@
-38
View File
@@ -1,38 +0,0 @@
# gen pkg-config
include_guard(GLOBAL)
if(UNIX AND NOT APPLE)
string(
APPEND
pc_req_private
" x11 xinerama xcursor xfixes xext xrender xft fontconfig cairo pango pangoxft pangocairo gobject-2.0 wayland-client wayland-cursor xkbcommon"
)
if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
string(APPEND pc_libs_private " -ldbus-1 -lsupc++ -ldl -pthread")
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
string(APPEND pc_libs_private " -ldbus-1 -lc++")
endif()
elseif(APPLE)
string(
APPEND
pc_libs_private
" -framework Cocoa -framework Carbon -framework ApplicationServices -framework OpenGL -lc++"
)
elseif(WIN32)
string(
APPEND
pc_libs_private
" -lgdiplus -lws2_32 -lcomctl32 -lgdi32 -loleaut32 -lole32 -luuid -lshell32 -ladvapi32 -lcomdlg32 -lwinspool -luser32 -lkernel32 -lodbc32"
)
if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
string(APPEND pc_libs_private " -lgcc -lstdc++ -pthread")
endif()
endif()
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/cfltk2.pc.in
${CMAKE_CURRENT_BINARY_DIR}/cfltk2.pc @ONLY)
install(
FILES ${CMAKE_CURRENT_BINARY_DIR}/cfltk2.pc
DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/pkgconfig)
-6
View File
@@ -1,6 +0,0 @@
@PACKAGE_INIT@
include(CMakeFindDependencyMacro)
find_dependency(FLTK CONFIG)
include("${CMAKE_CURRENT_LIST_DIR}/cfltk2Targets.cmake")
-13
View File
@@ -1,13 +0,0 @@
# Remove FLTK_USE_PANGO on Windows and MacOS
# cmake -B bin -S cfltk \
-DFLTK_USE_SYSTEM_LIBPNG=OFF \
-DFLTK_USE_SYSTEM_LIBJPEG=OFF \
-DFLTK_USE_SYSTEM_ZLIB=OFF \
-DFLTK_USE_PANGO=OFF \
-DFLTK_BUILD_EXAMPLES=OFF \
-DFLTK_BUILD_TEST=OFF \
-DFLTK_OPTION_LARGE_FILE=ON \
-DFLTK_BUILD_HTML_DOCS=OFF \
-DFLTK_BUILD_PDF_DOCS=OFF \
-DFLTK_USE_PANGO=ON
-44
View File
@@ -1,44 +0,0 @@
cmake_minimum_required(VERSION 3.15)
project(cfltk_examples)
set(FLTK_USE_SYSTEM_LIBPNG OFF CACHE BOOL " " FORCE)
set(FLTK_USE_SYSTEM_LIBJPEG OFF CACHE BOOL " " FORCE)
set(FLTK_USE_SYSTEM_ZLIB OFF CACHE BOOL " " FORCE)
set(FLTK_BUILD_GL OFF CACHE BOOL " " FORCE)
set(CFLTK_USE_OPENGL OFF CACHE BOOL " " FORCE)
set(FLTK_BUILD_EXAMPLES OFF CACHE BOOL " " FORCE)
set(FLTK_BUILD_TEST OFF CACHE BOOL " " FORCE)
set(FLTK_OPTION_LARGE_FILE ON CACHE BOOL " " FORCE)
set(FLTK_BUILD_HTML_DOCS OFF CACHE BOOL " " FORCE)
set(FLTK_BUILD_PDF_DOCS OFF CACHE BOOL " " FORCE)
if (${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
set(FLTK_USE_PANGO ON CACHE BOOL " " FORCE)
set(FLTK_GRAPHICS_CAIRO ON CACHE BOOL " " FORCE)
endif()
set(CMAKE_CXX_STANDARD 14)
add_subdirectory(${CMAKE_CURRENT_LIST_DIR}/.. cfltk)
add_executable(hello hello.c)
target_link_libraries(hello PUBLIC cfltk2::cfltk2 fltk::fltk fltk::images fltk::png fltk::z)
add_executable(img img.c)
target_link_libraries(img PUBLIC cfltk2::cfltk2 fltk::fltk fltk::images fltk::png fltk::z)
add_executable(handler handler.c)
target_link_libraries(handler PUBLIC cfltk2::cfltk2 fltk::fltk fltk::images fltk::png fltk::z)
add_executable(handler2 handler2.c)
target_link_libraries(handler2 PUBLIC cfltk2::cfltk2 fltk::fltk fltk::images fltk::png fltk::z)
add_executable(counter counter.c)
target_link_libraries(counter PUBLIC cfltk2::cfltk2 fltk::fltk fltk::images fltk::png fltk::z)
add_executable(threads threads.cpp)
target_link_libraries(threads PUBLIC cfltk2::cfltk2 fltk::fltk fltk::images fltk::png fltk::z)
add_executable(cthreads cthreads.cpp)
target_link_libraries(cthreads PUBLIC cfltk2::cfltk2 fltk::fltk fltk::images fltk::png fltk::z)
add_executable(deleter deleter.c)
target_link_libraries(deleter PUBLIC cfltk2::cfltk2 fltk::fltk fltk::images fltk::png fltk::z)
-3
View File
@@ -1,3 +0,0 @@
# Examples
This just shows some basic examples using cfltk. To build them, `cd` into the current directory and run `cmake -Bbin` then `cmake --build bin --parallel`.
-34
View File
@@ -1,34 +0,0 @@
// Example for android themed app
#include <cfltk2/cfl.h> // Fl_init_all, Fl_lock, Fl_run
#include <cfltk2/cfl_button.h>
#include <cfltk2/cfl_enums.h>
#include <cfltk2/cfl_widget.h>
#include <cfltk2/cfl_window.h>
#include <stdlib.h>
void cb(Fl_Widget *w, void *data) {
char buf[8];
int v = atoi(Fl_Widget_label(w));
v++;
snprintf(buf, 8, "%d", v);
Fl_Widget_set_label(w, buf);
}
int main(void) {
Fl_init_all();
Fl_Window *w = Fl_Window_new(0, 40, 600, 800 - 80, NULL);
Fl_Button *b = Fl_Button_new(220, 500, 160, 80, "0");
Fl_Window_end(w);
Fl_Window_show(w);
Fl_Window_set_color(w, Fl_Color_White);
Fl_Button_set_color(b, Fl_Color_Magenta);
Fl_Button_set_label_color(b, Fl_Color_White);
Fl_Button_clear_visible_focus(b);
Fl_Button_set_selection_color(b, Fl_Color_DarkMagenta);
Fl_Button_set_box(b, Fl_BoxType_RFlatBox);
Fl_Button_set_label_size(b, 36);
Fl_Button_set_callback(b, cb, NULL);
return Fl_run();
}
-85
View File
@@ -1,85 +0,0 @@
#include <cfltk2/cfl.h> // Fl_init_all, Fl_lock, Fl_run
#include <cfltk2/cfl_box.h>
#include <cfltk2/cfl_button.h>
#include <cfltk2/cfl_draw.h>
#include <cfltk2/cfl_enums.h>
#include <cfltk2/cfl_group.h>
#include <cfltk2/cfl_image.h> // Fl_register_images
#include <cfltk2/cfl_widget.h>
#include <cfltk2/cfl_window.h>
#include <stdio.h>
#include <stdlib.h>
#define BLUE 0x42A5F500
#define SEL_BLUE 0x3f51b500
#define GRAY 0x75757500
#define WIDTH 600
#define HEIGHT 400
// the button's callback
void cb(Fl_Widget *w, void *data) {
Fl_Box *count = (Fl_Box *)data;
int val = atoi(Fl_Box_label(count));
val++;
char temp[12];
snprintf(temp, sizeof(temp), "%d", val);
Fl_Box_set_label(count, temp);
}
// the bar's custom drawn shadow
void draw(Fl_Widget *w, void *data) {
Fl_set_color_rgb(211, 211, 211);
Fl_rectf(0, Fl_Widget_height(w), Fl_Widget_width(w), 3);
}
int main(void) {
Fl_init_all(); // init all styles
Fl_Window *w = Fl_Window_new(100, 100, WIDTH, HEIGHT, "Flutter-like");
Fl_Flex *col = Fl_Flex_new(0, 0, WIDTH, HEIGHT, NULL);
Fl_Box *bar = Fl_Box_new(0, 0, 0, 0, " FLTK App!");
Fl_Flex_set_size(col, (Fl_Widget *)bar, 60);
Fl_Box_set_align(bar, Fl_Align_Left | Fl_Align_Inside);
Fl_Box *text =
Fl_Box_new(0, 0, 0, 0, "You have pushed the button this many times:");
Fl_Box_set_align(text, Fl_Align_Bottom | Fl_Align_Inside);
Fl_Box *count = Fl_Box_new(0, 0, 0, 0, "0");
Fl_Box_set_align(count, Fl_Align_Top | Fl_Align_Inside);
Fl_Flex *row = Fl_Flex_new(0, 0, 0, 0, NULL);
Fl_Flex_set_type(row, Fl_FlexType_Row);
Fl_Flex_set_size(col, (Fl_Widget *)row, 60);
Fl_Box_new(0, 0, 0, 0, NULL);
Fl_Button *but =
Fl_Button_new(WIDTH - 100, HEIGHT - 100, 60, 60, "@+6plus");
Fl_Flex_set_size(row, (Fl_Widget *)but, 60);
Fl_Box *spacing1 = Fl_Box_new(0, 0, 0, 0, NULL);
Fl_Flex_set_size(row, (Fl_Widget *)spacing1, 20);
Fl_Flex_end(row);
Fl_Box *spacing2 = Fl_Box_new(0, 0, 0, 0, NULL);
Fl_Flex_set_size(col, (Fl_Widget *)spacing2, 20);
Fl_Flex_end(col);
Fl_Window_end(w);
Fl_Window_resizable(w, w);
Fl_Window_show(w);
Fl_background(255, 255, 255);
Fl_set_visible_focus(0);
Fl_Box_set_box(bar, Fl_BoxType_FlatBox);
Fl_Box_set_label_size(bar, 22);
Fl_Box_set_label_color(bar, Fl_Color_White);
Fl_Box_set_color(bar, BLUE);
Fl_Box_draw(bar, draw, NULL);
Fl_Box_set_label_size(text, 18);
Fl_Box_set_label_font(text, Fl_Font_Times);
Fl_Box_set_label_size(count, 36);
Fl_Box_set_label_color(count, GRAY);
Fl_Button_set_color(but, BLUE);
Fl_Button_set_selection_color(but, SEL_BLUE);
Fl_Button_set_label_color(but, Fl_Color_White);
Fl_Button_set_box(but, Fl_BoxType_OFlatBox);
Fl_Button_set_callback(but, cb, count);
return Fl_run();
}
-49
View File
@@ -1,49 +0,0 @@
#include <cfltk2/cfl.h>
#include <cfltk2/cfl_box.h>
#include <cfltk2/cfl_button.h>
#include <cfltk2/cfl_window.h>
#include <cstdio>
#include <stdexcept>
#include <string>
#include <thread>
using namespace std::chrono_literals;
void cb(Fl_Widget *w, void *data) {
auto box = (Fl_Box *)data;
std::thread writer([=] {
for (int i = 0; i != 1000; i++) {
std::this_thread::sleep_for(10ms);
char buf[100];
snprintf(buf, 100, "Hello %d", i);
Fl_lock();
Fl_Box_set_label(box, buf);
Fl_awake();
Fl_unlock();
}
});
writer.detach();
std::thread reader([=] {
while (true) {
std::this_thread::sleep_for(1000ms);
Fl_lock();
printf("%s\n", Fl_Box_label(box));
fflush(stdout);
Fl_awake();
Fl_unlock();
}
});
reader.detach();
}
int main() {
Fl_lock();
auto win = Fl_Window_new(100, 100, 400, 300, "");
auto box = Fl_Box_new(0, 0, 400, 200, "Hello");
auto but = Fl_Button_new(160, 210, 80, 40, "Click");
Fl_Window_end(win);
Fl_Window_show(win);
Fl_Button_set_callback(but, cb, box);
return Fl_run();
}
-31
View File
@@ -1,31 +0,0 @@
#include <cfltk2/cfl.h> // Fl_init_all, Fl_lock, Fl_run
#include <cfltk2/cfl_button.h>
#include <cfltk2/cfl_group.h>
#include <cfltk2/cfl_image.h> // Fl_register_images
#include <cfltk2/cfl_widget.h>
#include <cfltk2/cfl_window.h>
#include <stdio.h>
#include <stdlib.h>
void cb(Fl_Widget *w, void *data) {
Fl_Group *parent = Fl_Widget_parent(w);
Fl_Widget_delete(w);
Fl_Group_redraw(parent);
}
void dcb(Fl_Widget *w, void *data) {
puts("deleted");
}
int main(void) {
Fl_init_all(); // init all styles
Fl_register_images(); // necessary for image support
Fl_lock(); // necessary for multithreaded support
Fl_Window *w = Fl_Window_new(100, 100, 400, 300, NULL);
Fl_Button *b = Fl_Button_new(160, 210, 80, 40, "Click me");
Fl_Button_set_deletion_callback(b, dcb, b);
Fl_Window_end(w);
Fl_Window_show(w);
Fl_Button_set_callback(b, cb, NULL);
return Fl_run();
}
Binary file not shown.

Before

Width:  |  Height:  |  Size: 35 KiB

-28
View File
@@ -1,28 +0,0 @@
#include <cfltk2/cfl.h> // Fl_init_all
#include <cfltk2/cfl_box.h>
#include <cfltk2/cfl_button.h>
#include <cfltk2/cfl_enums.h> // EventNames, Event_PUSH
#include <cfltk2/cfl_window.h>
#include <stdio.h>
#include <stdlib.h>
int cb(Fl_Widget *w, int e, void *data) {
switch (e) {
case Fl_Event_Push:
Fl_Box_set_label((Fl_Box *)data, "Hello");
// return 1 when handled, 0 otherwise
return 1;
default:
return 0;
}
}
int main() {
Fl_Window *w = Fl_Window_new(100, 100, 400, 300, NULL);
Fl_Box *f = Fl_Box_new(0, 0, 400, 200, NULL);
Fl_Button *b = Fl_Button_new(160, 210, 80, 40, "Click me");
Fl_Window_end(w);
Fl_Window_show(w);
Fl_Button_handle(b, cb, f);
return Fl_run();
}
-42
View File
@@ -1,42 +0,0 @@
#include <cfltk2/cfl.h> // Fl_init_all
#include <cfltk2/cfl_box.h>
#include <cfltk2/cfl_button.h>
#include <cfltk2/cfl_enums.h> // EventNames, Event_PUSH
#include <cfltk2/cfl_window.h>
#include <stdio.h>
#include <stdlib.h>
Fl_Window *win;
int cb(Fl_Widget *w, int e, void *data) {
switch (e) {
case Fl_Event_Push:
Fl_handle(31, win);
// return 1 when handled, 0 otherwise
return 1;
default:
return 0;
}
}
int box_cb(Fl_Widget *w, int e, void *data) {
switch (e) {
case 31:
Fl_Box_set_label((Fl_Box *)w, "Pushed");
// return 1 when handled, 0 otherwise
return 1;
default:
return 0;
}
}
int main() {
win = Fl_Window_new(100, 100, 400, 300, NULL);
Fl_Box *f = Fl_Box_new(0, 0, 400, 200, NULL);
Fl_Button *b = Fl_Button_new(160, 210, 80, 40, "Click me");
Fl_Window_end(win);
Fl_Window_show(win);
Fl_Box_handle(f, box_cb, NULL);
Fl_Button_handle(b, cb, NULL);
return Fl_run();
}
-22
View File
@@ -1,22 +0,0 @@
#include <cfltk2/cfl.h> // Fl_init_all, Fl_lock, Fl_run
#include <cfltk2/cfl_button.h>
#include <cfltk2/cfl_image.h> // Fl_register_images
#include <cfltk2/cfl_widget.h>
#include <cfltk2/cfl_window.h>
#include <stdlib.h>
void cb(Fl_Widget *w, void *data) {
Fl_Widget_set_label(w, "Works!");
}
int main(void) {
Fl_init_all(); // init all styles
Fl_register_images(); // necessary for image support
Fl_lock(); // necessary for multithreaded support
Fl_Window *w = Fl_Window_new(100, 100, 400, 300, NULL);
Fl_Button *b = Fl_Button_new(160, 210, 80, 40, "Click me");
Fl_Window_end(w);
Fl_Window_show(w);
Fl_Button_set_callback(b, cb, NULL);
return Fl_run();
}
-22
View File
@@ -1,22 +0,0 @@
#include <cfltk2/cfl.h> // Fl_init_all, Fl_lock, Fl_run
#include <cfltk2/cfl_box.h>
#include <cfltk2/cfl_enums.h>
#include <cfltk2/cfl_image.h> // Fl_register_images
#include <cfltk2/cfl_window.h>
#define TRUE 1
#define FALSE 0
#define NULL (void *)0
int main(void) {
Fl_register_images();
Fl_Window *w = Fl_Window_new(100, 100, 400, 300, NULL);
Fl_Box *b = Fl_Box_new(0, 0, 400, 300, NULL);
Fl_Window_end(w);
Fl_Window_show(w);
Fl_Window_set_color(w, Fl_Color_White);
Fl_PNG_Image *i = Fl_PNG_Image_new("img.png");
Fl_PNG_Image_scale(i, 400, 300, TRUE, FALSE);
Fl_Box_set_image(b, i);
return Fl_run();
}
Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

-49
View File
@@ -1,49 +0,0 @@
#include <FL/Fl.H>
#include <FL/Fl_Box.H>
#include <FL/Fl_Button.H>
#include <FL/Fl_Window.H>
#include <cstdio>
#include <stdexcept>
#include <string>
#include <thread>
using namespace std::chrono_literals;
void cb(Fl_Widget *w, void *data) {
auto box = (Fl_Box *)data;
std::thread writer([=] {
for (int i = 0; i != 1000; i++) {
std::this_thread::sleep_for(10ms);
char buf[100];
snprintf(buf, 100, "Hello %d", i);
Fl::lock();
box->copy_label(buf);
Fl::awake();
Fl::unlock();
}
});
writer.detach();
std::thread reader([=] {
while (true) {
std::this_thread::sleep_for(1000ms);
Fl::lock();
printf("%s\n", box->label());
fflush(stdout);
Fl::awake();
Fl::unlock();
}
});
reader.detach();
}
int main() {
Fl::lock();
auto win = new Fl_Window(400, 300);
auto box = new Fl_Box(0, 0, 400, 200, "Hello");
auto but = new Fl_Button(160, 210, 80, 40, "Click");
win->end();
win->show();
but->callback(cb, box);
return Fl::run();
}
Loaded 100 of 1769 files, more files were not shown because too many files have changed in this diff. Show more