// File: /workspace/github_c_makefile_star2_O1/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
cmpq $0x0, 0x4780(%rdi)
movss %xmm0, 0xc(%rsp)
jne 0x41314
movq 0x46d07(%rip), %r14     # 0x87ff0
movq (%r14), %rdi
leaq 0x30a99(%rip), %rsi     # 0x71d8c
leaq 0x30ab0(%rip), %rdx     # 0x71daa
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 0x41357
movq 0x46cc4(%rip), %r14     # 0x87ff0
movq (%r14), %rdi
leaq 0x30a56(%rip), %rsi     # 0x71d8c
leaq 0x30a6d(%rip), %rdx     # 0x71daa
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 0x414a1
cmpq $0x0, 0xa8(%rax)
je 0x414a1
movq 0xa8(%rbx), %r12
movl 0x2448(%r15), %r14d
movss 0x24b8(%r15), %xmm1
movaps %xmm1, 0x10(%rsp)
testb $-0x80, 0x5(%r12)
je 0x413cb
movq 0x46c50(%rip), %r15     # 0x87ff0
movq (%r15), %rdi
leaq 0x309e2(%rip), %rsi     # 0x71d8c
leaq 0x309f9(%rip), %rdx     # 0x71daa
movl $0x5511, %ecx           # imm = 0x5511
xorl %eax, %eax
callq 0x12d80
movq (%r15), %rdi
callq 0x13780
movss 0xc(%rsp), %xmm0
testb $0x20, 0x5(%r12)
je 0x41405
movq 0x46c16(%rip), %r15     # 0x87ff0
movq (%r15), %rdi
leaq 0x309a8(%rip), %rsi     # 0x71d8c
leaq 0x309bf(%rip), %rdx     # 0x71daa
movl $0x5512, %ecx           # imm = 0x5512
xorl %eax, %eax
callq 0x12d80
movq (%r15), %rdi
callq 0x13780
movss 0xc(%rsp), %xmm0
testb $0x40, 0x5(%r12)
je 0x4143f
movq 0x46bdc(%rip), %r15     # 0x87ff0
movq (%r15), %rdi
leaq 0x3096e(%rip), %rsi     # 0x71d8c
leaq 0x30985(%rip), %rdx     # 0x71daa
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 0x4147d
jp 0x4147d
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 0x414ae
addq $0x20, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
addss 0x2d40e(%rip), %xmm1    # 0x6e8c4
leaq 0x68(%rbx), %rdi
addss 0x2d3f2(%rip), %xmm2    # 0x6e8b4
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