CapyZig 的 GUI 庫
Capy 是一個(gè)用于在 Zig 中制作真正的原生 GUI 的跨平臺(tái)庫。目前,Capy 尚在積極開發(fā)中,還沒有準(zhǔn)備好應(yīng)用于生產(chǎn)。
Capy 主要用于使用操作系統(tǒng)的本地控件來創(chuàng)建應(yīng)用程序。它是一個(gè)聲明式的 UI 庫,旨在使其易于編寫并具有多樣性。目標(biāo)是為獨(dú)立的 UI 應(yīng)用提供支持,在游戲或任何其他渲染過程中的集成是一個(gè)非目標(biāo)。
const capy = @import("capy"); const std = @import("std"); pub fn main() !void { try capy.backend.init(); var window = try capy.Window.init(); try window.set( capy.Column(.{ .spacing = 10 }, .{ // have 10px spacing between each column's element capy.Row(.{ .spacing = 5 }, .{ // have 5px spacing between each row's element capy.Button(.{ .label = "Save", .onclick = buttonClicked }), capy.Button(.{ .label = "Run", .onclick = buttonClicked }) }), // Expanded means the widget will take all the space it can // in the parent container capy.Expanded( capy.TextArea(.{ .text = "Hello World!" }) ) }) ); window.resize(800, 600); window.show(); capy.runEventLoop(); } fn buttonClicked(button: *capy.Button_Impl) !void { std.log.info("You clicked button with text {s}", .{button.getLabel()}); }
評(píng)論
圖片
表情
