Skip to content

Commit 9980a9e

Browse files
Refactor: Bindings simplification (#68)
* refactor: Bindings simplification * refactor: Separate `extern`s into separate module --------- Co-authored-by: jinzhongjia <mail@nvimer.org>
1 parent 7c1f82c commit 9980a9e

15 files changed

Lines changed: 1405 additions & 560 deletions

File tree

build.zig

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -137,9 +137,7 @@ pub const V0_12 = struct {
137137
});
138138

139139
webui.linkLibC();
140-
141140
webui.addIncludePath(webui_dep.path("include"));
142-
webui.installHeader(webui_dep.path(b.pathJoin(&.{ "include", "webui.h" })), "webui.h");
143141

144142
// for windows build
145143
if (target.result.os.tag == .windows) {

examples/call_js_from_zig/main.zig

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ pub fn main() !void {
2222
webui.clean();
2323
}
2424

25-
fn my_function_count(e: webui.Event) void {
25+
fn my_function_count(e: *webui.Event) void {
2626
// This function gets called every time the user clicks on "my_function_count"
2727

2828
// Create a buffer to hold the response
@@ -61,7 +61,7 @@ fn my_function_count(e: webui.Event) void {
6161
win.run(content);
6262
}
6363

64-
fn my_function_exit(_: webui.Event) void {
64+
fn my_function_exit(_: *webui.Event) void {
6565

6666
// Close all opened windows
6767
webui.exit();

examples/call_zig_from_js/main.zig

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ pub fn main() !void {
2121
webui.clean();
2222
}
2323

24-
fn my_function_string(e: webui.Event) void {
24+
fn my_function_string(e: *webui.Event) void {
2525
// JavaScript:
2626
// my_function_string('Hello', 'World`);
2727

@@ -35,7 +35,7 @@ fn my_function_string(e: webui.Event) void {
3535
std.debug.print("my_function_string 2: {s}\n", .{str_2});
3636
}
3737

38-
fn my_function_integer(e: webui.Event) void {
38+
fn my_function_integer(e: *webui.Event) void {
3939
// JavaScript:
4040
// my_function_integer(123, 456, 789, 12345.6789);
4141

@@ -60,7 +60,7 @@ fn my_function_integer(e: webui.Event) void {
6060
std.debug.print("my_function_integer 4: {}\n", .{float_1});
6161
}
6262

63-
fn my_function_boolean(e: webui.Event) void {
63+
fn my_function_boolean(e: *webui.Event) void {
6464
// JavaScript:
6565
// my_function_boolean(true, false);
6666

@@ -74,7 +74,7 @@ fn my_function_boolean(e: webui.Event) void {
7474
std.debug.print("my_function_bool 2: {}\n", .{status_2});
7575
}
7676

77-
fn my_function_with_response(e: webui.Event) void {
77+
fn my_function_with_response(e: *webui.Event) void {
7878
// JavaScript:
7979
// my_function_with_response(number, 2).then(...)
8080

@@ -89,7 +89,7 @@ fn my_function_with_response(e: webui.Event) void {
8989
e.returnValue(res);
9090
}
9191

92-
fn my_function_raw_binary(e: webui.Event) void {
92+
fn my_function_raw_binary(e: *webui.Event) void {
9393
// JavaScript:
9494
// my_function_raw_binary(new Uint8Array([0x41]), new Uint8Array([0x42, 0x43]));
9595

examples/custom_spa_server_on_free_port/main.zig

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ fn killPythonWebServer() void {
8181

8282
// This is a Zig function that is invoked by a Javascript call,
8383
// and in turn, calls Javascript.
84-
fn goto_page(e: webui.Event) void {
84+
fn goto_page(e: *webui.Event) void {
8585
// JavaScript that invoked this function: gotoPage('some-path');
8686
const path = e.getString();
8787
std.debug.print("JS invoked Zig: Navigating to page: {s}\n", .{path});
@@ -95,7 +95,7 @@ fn goto_page(e: webui.Event) void {
9595
e.getWindow().run(content);
9696
}
9797

98-
fn events(e: webui.Event) void {
98+
fn events(e: *webui.Event) void {
9999
// This function gets called every time
100100
// there is an event
101101
switch (e.event_type) {

examples/custom_web_server/main.zig

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ pub fn main() !void {
2929
webui.clean();
3030
}
3131

32-
fn events(e: webui.Event) void {
32+
fn events(e: *webui.Event) void {
3333
// This function gets called every time
3434
// there is an event
3535

@@ -63,7 +63,7 @@ fn events(e: webui.Event) void {
6363
}
6464
}
6565

66-
fn my_backend_func(e: webui.Event) void {
66+
fn my_backend_func(e: *webui.Event) void {
6767
// JavaScript:
6868
// my_backend_func(123, 456, 789);
6969
// or webui.my_backend_func(...);

examples/public_network_access/main.zig

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,11 @@ const public_html = @embedFile("public.html");
1010
var private_window: webui = undefined;
1111
var public_window: webui = undefined;
1212

13-
fn app_exit(_: webui.Event) void {
13+
fn app_exit(_: *webui.Event) void {
1414
webui.exit();
1515
}
1616

17-
fn public_window_events(e: webui.Event) void {
17+
fn public_window_events(e: *webui.Event) void {
1818
if (e.event_type == .EVENT_CONNECTED) {
1919
// New connection
2020
private_window.run("document.getElementById(\"Logs\").value += \"New connection.\\n\";");
@@ -24,7 +24,7 @@ fn public_window_events(e: webui.Event) void {
2424
}
2525
}
2626

27-
fn private_window_events(e: webui.Event) void {
27+
fn private_window_events(e: *webui.Event) void {
2828
if (e.event_type == .EVENT_CONNECTED) {
2929
const public_win_url: [:0]const u8 = public_window.getUrl();
3030
var buf = std.mem.zeroes([1024]u8);

examples/serve_a_folder/main.zig

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -47,12 +47,12 @@ pub fn main() !void {
4747
webui.clean();
4848
}
4949

50-
fn exit_app(_: webui.Event) void {
50+
fn exit_app(_: *webui.Event) void {
5151
// Close all opened windows
5252
webui.exit();
5353
}
5454

55-
fn events(e: webui.Event) void {
55+
fn events(e: *webui.Event) void {
5656
// This function gets called every time
5757
// there is an event
5858
switch (e.event_type) {
@@ -80,15 +80,15 @@ fn events(e: webui.Event) void {
8080
}
8181
}
8282

83-
fn switch_second_window(e: webui.Event) void {
83+
fn switch_second_window(e: *webui.Event) void {
8484
// This function gets called every
8585
// time the user clicks on "SwitchToSecondPage"
8686

8787
// Switch to `/second.html` in the same opened window.
8888
_ = e.getWindow().show("second.html");
8989
}
9090

91-
fn show_second_window(_: webui.Event) void {
91+
fn show_second_window(_: *webui.Event) void {
9292
// This function gets called every
9393
// time the user clicks on "OpenNewWindow"
9494

examples/text_editor/main.zig

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
const std = @import("std");
33
const webui = @import("webui");
44

5-
fn close(_: webui.Event) void {
5+
fn close(_: *webui.Event) void {
66
std.debug.print("Exit.\n", .{});
77

88
// Close all opened windows

examples/web_app_multi_client/main.zig

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,12 @@ var public_input = std.mem.zeroes(?[]u8);
1111
var users_count: usize = 0;
1212
var tab_count: usize = 0;
1313

14-
fn exit_app(_: webui.Event) void {
14+
fn exit_app(_: *webui.Event) void {
1515
// Close all opened windows
1616
webui.exit();
1717
}
1818

19-
fn save(e: webui.Event) void {
19+
fn save(e: *webui.Event) void {
2020
// Get input value
2121
const privateInput = e.getString();
2222

@@ -28,7 +28,7 @@ fn save(e: webui.Event) void {
2828
private_input_arr[e.client_id] = allocator.dupe(u8, privateInput) catch unreachable;
2929
}
3030

31-
fn saveAll(e: webui.Event) void {
31+
fn saveAll(e: *webui.Event) void {
3232
// Get input value
3333
const publicInput = e.getString();
3434

@@ -52,7 +52,7 @@ fn saveAll(e: webui.Event) void {
5252
win.run(js);
5353
}
5454

55-
fn events(e: webui.Event) void {
55+
fn events(e: *webui.Event) void {
5656
// This function gets called every time
5757
// there is an event
5858

0 commit comments

Comments
 (0)