1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
package test_alloc
import "core:fmt"
import win "../window"
main :: proc() {
// Set up tracking allocator
tracking: win.Tracking_Allocator
win.tracking_allocator_init(&tracking, context.allocator)
tracked := win.tracking_allocator_make(&tracking)
fmt.println("Testing allocation tracking...")
// Create and destroy event loop + window
loop, err := win.create_event_loop(tracked)
if err != .None {
fmt.eprintln("Failed to create event loop:", err)
win.tracking_allocator_print_stats(&tracking)
return
}
window, win_err := win.create_window(loop, {
title = "Allocation Test",
size = {800, 600},
resizable = true,
visible = true,
decorated = true,
})
if win_err != .None {
fmt.eprintln("Failed to create window:", win_err)
win.destroy_event_loop(loop)
win.tracking_allocator_print_stats(&tracking)
return
}
fmt.println("Window created successfully")
fmt.println("Destroying window and event loop...")
// Clean up
win.destroy_event_loop(loop)
// Print allocation statistics
win.tracking_allocator_print_stats(&tracking)
win.tracking_allocator_destroy(&tracking)
}