// File: /workspace/github_c_makefile_star2_O2/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 0x3d335
movq 0x47ced(%rip), %r14     # 0x84ff0
movq (%r14), %rdi
leaq 0x2c9ff(%rip), %rsi     # 0x69d0c
leaq 0x2ca16(%rip), %rdx     # 0x69d2a
movl $0x5500, %ecx           # imm = 0x5500
xorl %eax, %eax
callq 0x12ea0
movq (%r14), %rdi
callq 0x13960
movss 0xc(%rsp), %xmm0
movq 0x4780(%r15), %rax
cmpq $0x0, 0xa8(%rax)
jne 0x3d381
movq 0x47caa(%rip), %r14     # 0x84ff0
movq (%r14), %rdi
leaq 0x2c9bc(%rip), %rsi     # 0x69d0c
leaq 0x2c9d3(%rip), %rdx     # 0x69d2a
movl $0x5501, %ecx           # imm = 0x5501
xorl %eax, %eax
callq 0x12ea0
movq (%r14), %rdi
callq 0x13960
movss 0xc(%rsp), %xmm0
movq 0x4780(%r15), %rax
testq %rax, %rax
je 0x3d4bd
cmpq $0x0, 0xa8(%rax)
je 0x3d4bd
movq 0xa8(%rbx), %r12
movl 0x2448(%r15), %r14d
movss 0x24b8(%r15), %xmm1
movaps %xmm1, 0x10(%rsp)
movl 0x4(%r12), %eax
testw %ax, %ax
jns 0x3d3ec
movq 0x47c34(%rip), %r15     # 0x84ff0
movq (%r15), %rdi
leaq 0x2c946(%rip), %rsi     # 0x69d0c
leaq 0x2c95d(%rip), %rdx     # 0x69d2a
movl $0x5511, %ecx           # imm = 0x5511
xorl %eax, %eax
callq 0x12ea0
movq (%r15), %rdi
callq 0x13960
movss 0xc(%rsp), %xmm0
movl 0x4(%r12), %eax
btl $0xd, %eax
jae 0x3d429
movq 0x47bf7(%rip), %r15     # 0x84ff0
movq (%r15), %rdi
leaq 0x2c909(%rip), %rsi     # 0x69d0c
leaq 0x2c920(%rip), %rdx     # 0x69d2a
movl $0x5512, %ecx           # imm = 0x5512
xorl %eax, %eax
callq 0x12ea0
movq (%r15), %rdi
callq 0x13960
movss 0xc(%rsp), %xmm0
movl 0x4(%r12), %eax
btl $0xe, %eax
jae 0x3d461
movq 0x47bba(%rip), %r15     # 0x84ff0
movq (%r15), %rdi
leaq 0x2c8cc(%rip), %rsi     # 0x69d0c
leaq 0x2c8e3(%rip), %rdx     # 0x69d2a
movl $0x5513, %ecx           # imm = 0x5513
xorl %eax, %eax
callq 0x12ea0
movq (%r15), %rdi
callq 0x13960
movss 0xc(%rsp), %xmm0
andl $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 0x3d49c
jp 0x3d49c
movss 0x7c(%r12), %xmm2
maxss %xmm0, %xmm2
movaps %xmm2, %xmm0
movaps 0x10(%rsp), %xmm2
addss %xmm0, %xmm2
movss %xmm2, 0x78(%r12)
andl $0x0, 0x98(%r12)
testb $0x8, 0x5(%r12)
jne 0x3d4ca
addq $0x20, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
addss 0x29372(%rip), %xmm1    # 0x66844
leaq 0x68(%rbx), %rdi
addss 0x29356(%rip), %xmm2    # 0x66834
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 0x12f00