Fixed a bad reference
This commit is contained in:
parent
0545282292
commit
a2a70a0f33
6 changed files with 43 additions and 12 deletions
35
program.odin
35
program.odin
|
|
@ -159,8 +159,8 @@ UiButton_AddMat4CallbackData :: struct {
|
|||
}
|
||||
|
||||
program_add_mat4 :: proc(data: rawptr) {
|
||||
data := cast(^UiButton_AddMat3CallbackData)data
|
||||
field_pool_add_mat3(&data.program.matrix_field_pool, data.mat)
|
||||
data := cast(^UiButton_AddMat4CallbackData)data
|
||||
field_pool_add_mat4(&data.program.matrix_field_pool, data.mat)
|
||||
}
|
||||
|
||||
field_pool_add_mat4 :: proc(pool: ^FieldPool(f32), m: mat4) {
|
||||
|
|
@ -224,17 +224,38 @@ program_matrix_mode_dropdown_callback :: proc(previous, current: i32, data: rawp
|
|||
program_set_message_state(program, .ChangeMatrixTypeClearData)
|
||||
}
|
||||
|
||||
program_build_ui :: proc() -> []UiElement {
|
||||
matrix_add_button_callback_data := UiButton_AddMat2CallbackData {
|
||||
program = &program,
|
||||
mat = mat2{0, 1, 2, 3},
|
||||
program_add_matrix_button_data :: proc(label: cstring, matrix_type: MatrixType, allocator := context.temp_allocator) -> UiElementData_Button {
|
||||
callback: UiElementCallback_Button
|
||||
callback_data: rawptr
|
||||
switch program.matrix_mode_actual {
|
||||
case .Mat2:
|
||||
callback = program_add_mat2
|
||||
data := new(UiButton_AddMat2CallbackData, context.temp_allocator)
|
||||
data^ = {program = &program, mat = mat2{0, 1, 2, 3}}
|
||||
callback_data = cast(rawptr)data
|
||||
case .Mat3:
|
||||
callback = program_add_mat3
|
||||
data := new(UiButton_AddMat3CallbackData, context.temp_allocator)
|
||||
data^ = {program = &program, mat = mat3{0, 1, 2, 3, 4, 5, 6, 7, 8}}
|
||||
callback_data = cast(rawptr)data
|
||||
case .Mat4:
|
||||
callback = program_add_mat4
|
||||
data := new(UiButton_AddMat4CallbackData, context.temp_allocator)
|
||||
data^ = {program = &program, mat = mat4{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}}
|
||||
callback_data = cast(rawptr)data
|
||||
}
|
||||
return {label = label, callback = callback, callback_data = callback_data}
|
||||
}
|
||||
|
||||
program_build_ui :: proc() -> []UiElement {
|
||||
|
||||
|
||||
ui_button_size_top_bar := v2{32.0, 32.0}
|
||||
ui_dropdown_size_top_bar := v2{96.0, 32.0}
|
||||
ui_start(&program.ui_state)
|
||||
ui_container_begin({label = ""})
|
||||
ui_button(ui_button_size_top_bar, {label = "#10#", callback = program_add_mat2, callback_data = cast(rawptr)&matrix_add_button_callback_data})
|
||||
matrix_add_data := program_add_matrix_button_data("#10#", program.matrix_mode_actual, context.temp_allocator)
|
||||
ui_button(ui_button_size_top_bar, matrix_add_data)
|
||||
ui_same_line()
|
||||
ui_button(ui_button_size_top_bar, {label = "#11#"})
|
||||
ui_same_line()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue