设备
类设备()
- class cairo.Device
-
在 1.14 版本加入.
备注
在 1.17.0 版本加入:
cairo.Device
可以用作上下文管理器:# device.finish() will be called on __exit__ with cairo.ScriptDevice(f) as device: pass
- finish() None
此函数完成设备并删除对外部资源的所有引用。为该设备创建的所有表面、字体和其他对象也将完成。设备上的进一步操作不会影响设备,而是会触发
Status.DEVICE_FINISHED
错误。此功能可以获取设备。
在 1.14 版本加入.
- flush() None
完成设备的任何挂起操作,并还原cairo对设备状态所做的任何临时修改。在从使用cairo设备切换到直接使用本机API操作之前,必须调用此函数。如果设备不支持直接访问,则此功能不起作用。
此功能可以获取设备。
在 1.14 版本加入.
- acquire() None
- 抛出:
cairo.Error -- 如果设备处于错误状态且无法获取。
获取当前线程的设备。此函数将一直阻塞,直到没有其他线程获得设备为止。
如果不提升,则成功获取设备。从现在开始,您的线程拥有该设备,只有在匹配调用
release()
. 允许从同一线程递归获取设备多次。成功呼叫后
acquire()
,匹配的呼叫release()
是必需的。备注
除非明确允许,否则不能同时获取两个不同的设备。否则就存在死锁的可能性。由于各种cairo函数可以在调用时获取设备,因此当您使用所获取的设备调用它们时,这些函数也可能导致死锁。因此,在调用它们时,不能获取设备。这些功能在文档中进行了标记。
在 1.14 版本加入.
类脚本设备 (Device
)
- class cairo.ScriptDevice(fobj: cairo._FileLike | cairo._PathLike)
在 1.14 版本加入.
- __init__(fobj: cairo._FileLike | cairo._PathLike) None
- 参数:
fobj -- 文件名或可写文件对象。
创建用于发出脚本的输出设备,在创建单个曲面时使用。
- set_mode(mode: ScriptMode) None
- 参数:
mode -- 新模式
更改脚本的输出模式
- get_mode() ScriptMode
- 返回:
脚本的当前输出模式
查询脚本的当前输出模式。
- from_recording_surface(recording_surface: RecordingSurface) None
- 参数:
recording_surface -- 要重放的记录面
- 抛出:
cairo.Error --
将录制表面中的录制操作转换为脚本。