examples: add casts to the term.ui callback functions to satisfy stricter type checking with newer versions of clang (or older ones with -cc clang -cstrict) (#20624)

This commit is contained in:
Kim Shrier 2024-01-23 00:36:10 -07:00 committed by GitHub
parent 5b0f5081fd
commit 2b6490060a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
7 changed files with 51 additions and 17 deletions

View File

@ -82,12 +82,16 @@ fn event(e &tui.Event, mut app App) {
} }
} }
type EventFn = fn (&tui.Event, voidptr)
type FrameFn = fn (voidptr)
fn main() { fn main() {
mut app := &App{} mut app := &App{}
app.tui = tui.init( app.tui = tui.init(
user_data: app user_data: app
frame_fn: frame frame_fn: FrameFn(frame)
event_fn: event event_fn: EventFn(event)
hide_cursor: true hide_cursor: true
) )
app.tui.run()! app.tui.run()!

View File

@ -30,11 +30,13 @@ fn event(e &tui.Event, mut app App) {
} }
} }
type EventFn = fn (&tui.Event, voidptr)
fn main() { fn main() {
mut app := &App{} mut app := &App{}
app.tui = tui.init( app.tui = tui.init(
user_data: app user_data: app
event_fn: event event_fn: EventFn(event)
window_title: 'V term.ui event viewer' window_title: 'V term.ui event viewer'
hide_cursor: true hide_cursor: true
capture_events: true capture_events: true

View File

@ -480,14 +480,22 @@ fn event(e &ui.Event, mut app App) {
app.event(e) app.event(e)
} }
type InitFn = fn (voidptr)
type EventFn = fn (&ui.Event, voidptr)
type FrameFn = fn (voidptr)
type CleanupFn = fn (voidptr)
fn main() { fn main() {
mut app := &App{} mut app := &App{}
app.tui = ui.init( app.tui = ui.init(
user_data: app user_data: app
init_fn: init init_fn: InitFn(init)
frame_fn: frame frame_fn: FrameFn(frame)
cleanup_fn: cleanup cleanup_fn: CleanupFn(cleanup)
event_fn: event event_fn: EventFn(event)
fail_fn: fail fail_fn: fail
capture_events: true capture_events: true
hide_cursor: true hide_cursor: true

View File

@ -82,12 +82,16 @@ fn frame(mut app App) {
app.redraw = false app.redraw = false
} }
type EventFn = fn (&tui.Event, voidptr)
type FrameFn = fn (voidptr)
fn main() { fn main() {
mut app := &App{} mut app := &App{}
app.tui = tui.init( app.tui = tui.init(
user_data: app user_data: app
event_fn: event event_fn: EventFn(event)
frame_fn: frame frame_fn: FrameFn(frame)
hide_cursor: true hide_cursor: true
frame_rate: 60 frame_rate: 60
) )

View File

@ -109,12 +109,16 @@ mut:
y int y int
} }
type EventFn = fn (&ui.Event, voidptr)
type FrameFn = fn (voidptr)
fn main() { fn main() {
mut app := &App{} mut app := &App{}
app.ui = ui.init( app.ui = ui.init(
user_data: app user_data: app
frame_fn: frame frame_fn: FrameFn(frame)
event_fn: event event_fn: EventFn(event)
frame_rate: frame_rate frame_rate: frame_rate
hide_cursor: true hide_cursor: true
window_title: 'V terminal pixelart drawing app' window_title: 'V terminal pixelart drawing app'

View File

@ -629,6 +629,12 @@ fn event(e &tui.Event, mut a App) {
} }
} }
type InitFn = fn (voidptr)
type EventFn = fn (&tui.Event, voidptr)
type FrameFn = fn (voidptr)
fn main() { fn main() {
mut files := []string{} mut files := []string{}
if os.args.len > 1 { if os.args.len > 1 {
@ -639,9 +645,9 @@ fn main() {
} }
a.tui = tui.init( a.tui = tui.init(
user_data: a user_data: a
init_fn: init init_fn: InitFn(init)
frame_fn: frame frame_fn: FrameFn(frame)
event_fn: event event_fn: EventFn(event)
capture_events: true capture_events: true
) )
a.tui.run()! a.tui.run()!

View File

@ -456,13 +456,19 @@ fn (mut a App) draw_gameover() {
a.termui.draw_text(start_x, (a.height / 2) + 3 * block_size, ' ##### # # # # ###### ####### ## ###### # # ') a.termui.draw_text(start_x, (a.height / 2) + 3 * block_size, ' ##### # # # # ###### ####### ## ###### # # ')
} }
type InitFn = fn (voidptr)
type EventFn = fn (&termui.Event, voidptr)
type FrameFn = fn (voidptr)
fn main() { fn main() {
mut app := &App{} mut app := &App{}
app.termui = termui.init( app.termui = termui.init(
user_data: app user_data: app
event_fn: event event_fn: EventFn(event)
frame_fn: frame frame_fn: FrameFn(frame)
init_fn: init init_fn: InitFn(init)
hide_cursor: true hide_cursor: true
frame_rate: 10 frame_rate: 10
) )