// File: /workspace/github_c_makefile_star2_O3/stetre[P]moonnuklear/src/./nuklear/nuklear.h
// Function: nk_panel_layout
NK_LIB void
nk_panel_layout(const struct nk_context *ctx, struct nk_window *win,
    float height, int cols)
{
    struct nk_panel *layout;
    const struct nk_style *style;
    struct nk_command_buffer *out;

    struct nk_vec2 item_spacing;
    struct nk_color color;

    NK_ASSERT(ctx);
    NK_ASSERT(ctx->current);
    NK_ASSERT(ctx->current->layout);
    if (!ctx || !ctx->current || !ctx->current->layout)
        return;

    /* prefetch some configuration data */
    layout = win->layout;
    style = &ctx->style;
    out = &win->buffer;
    color = style->window.background;
    item_spacing = style->window.spacing;

    /*  if one of these triggers you forgot to add an `if` condition around either
        a window, group, popup, combobox or contextual menu `begin` and `end` block.
        Example:
            if (nk_begin(...) {...} nk_end(...); or
            if (nk_group_begin(...) { nk_group_end(...);} */
    NK_ASSERT(!(layout->flags & NK_WINDOW_MINIMIZED));
    NK_ASSERT(!(layout->flags & NK_WINDOW_HIDDEN));
    NK_ASSERT(!(layout->flags & NK_WINDOW_CLOSED));

    /* update the current row and set the current row layout */
    layout->row.index = 0;
    layout->at_y += layout->row.height;
    layout->row.columns = cols;
    if (height == 0.0f)
        layout->row.height = NK_MAX(height, layout->row.min_height) + item_spacing.y;
    else layout->row.height = height + item_spacing.y;

    layout->row.item_offset = 0;
    if (layout->flags & NK_WINDOW_DYNAMIC) {
        /* draw background for dynamic panels */
        struct nk_rect background;
        background.x = win->bounds.x;
        background.w = win->bounds.w;
        background.y = layout->at_y - 1.0f;
        background.h = layout->row.height + 1.0f;
        nk_fill_rect(out, background, 0, color);
    }
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x20, %rsp
movl %edx, %ebp
movq %rsi, %rbx
movq %rdi, %r15
movq 0x4780(%rdi), %rax
testq %rax, %rax
movss %xmm0, 0xc(%rsp)
jne 0x40a8d
movq 0x46595(%rip), %r14     # 0x86ff0
movq (%r14), %rdi
leaq 0x30337(%rip), %rsi     # 0x70d9c
leaq 0x3034e(%rip), %rdx     # 0x70dba
movl $0x5500, %ecx           # imm = 0x5500
xorl %eax, %eax
callq 0x12d80
movq (%r14), %rdi
callq 0x13780
movss 0xc(%rsp), %xmm0
movq 0x4780(%r15), %rax
cmpq $0x0, 0xa8(%rax)
jne 0x40ad9
movq 0x46552(%rip), %r14     # 0x86ff0
movq (%r14), %rdi
leaq 0x302f4(%rip), %rsi     # 0x70d9c
leaq 0x3030b(%rip), %rdx     # 0x70dba
movl $0x5501, %ecx           # imm = 0x5501
xorl %eax, %eax
callq 0x12d80
movq (%r14), %rdi
callq 0x13780
movss 0xc(%rsp), %xmm0
movq 0x4780(%r15), %rax
testq %rax, %rax
je 0x40c1b
cmpq $0x0, 0xa8(%rax)
je 0x40c1b
movq 0xa8(%rbx), %r12
movl 0x2448(%r15), %r14d
movss 0x24b8(%r15), %xmm1
movaps %xmm1, 0x10(%rsp)
movl 0x4(%r12), %eax
testw %ax, %ax
jns 0x40b44
movq 0x464dc(%rip), %r15     # 0x86ff0
movq (%r15), %rdi
leaq 0x3027e(%rip), %rsi     # 0x70d9c
leaq 0x30295(%rip), %rdx     # 0x70dba
movl $0x5511, %ecx           # imm = 0x5511
xorl %eax, %eax
callq 0x12d80
movq (%r15), %rdi
callq 0x13780
movss 0xc(%rsp), %xmm0
movl 0x4(%r12), %eax
btl $0xd, %eax
jae 0x40b81
movq 0x4649f(%rip), %r15     # 0x86ff0
movq (%r15), %rdi
leaq 0x30241(%rip), %rsi     # 0x70d9c
leaq 0x30258(%rip), %rdx     # 0x70dba
movl $0x5512, %ecx           # imm = 0x5512
xorl %eax, %eax
callq 0x12d80
movq (%r15), %rdi
callq 0x13780
movss 0xc(%rsp), %xmm0
movl 0x4(%r12), %eax
btl $0xe, %eax
jae 0x40bb9
movq 0x46462(%rip), %r15     # 0x86ff0
movq (%r15), %rdi
leaq 0x30204(%rip), %rsi     # 0x70d9c
leaq 0x3021b(%rip), %rdx     # 0x70dba
movl $0x5513, %ecx           # imm = 0x5513
xorl %eax, %eax
callq 0x12d80
movq (%r15), %rdi
callq 0x13780
movss 0xc(%rsp), %xmm0
movl $0x0, 0x74(%r12)
movss 0x78(%r12), %xmm1
addss 0x2c(%r12), %xmm1
movss %xmm1, 0x2c(%r12)
movl %ebp, 0x80(%r12)
xorps %xmm2, %xmm2
ucomiss %xmm2, %xmm0
jne 0x40bf7
jp 0x40bf7
movss 0x7c(%r12), %xmm2
maxss %xmm0, %xmm2
movaps %xmm2, %xmm0
movaps 0x10(%rsp), %xmm2
addss %xmm0, %xmm2
movss %xmm2, 0x78(%r12)
movl $0x0, 0x98(%r12)
testb $0x8, 0x5(%r12)
jne 0x40c28
addq $0x20, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
addss 0x2cc84(%rip), %xmm1    # 0x6d8b4
leaq 0x68(%rbx), %rdi
addss 0x2cc68(%rip), %xmm2    # 0x6d8a4
movss 0x4c(%rbx), %xmm0
unpcklps %xmm1, %xmm0            # xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
movss 0x54(%rbx), %xmm1
unpcklps %xmm2, %xmm1            # xmm1 = xmm1[0],xmm2[0],xmm1[1],xmm2[1]
xorps %xmm2, %xmm2
movl %r14d, %esi
addq $0x20, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
jmp 0x12de0