// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonnuklear/src/./nuklear/nuklear.h
// Function: nk_menubar_begin
NK_API void
nk_menubar_begin(struct nk_context *ctx)
{
    struct nk_panel *layout;
    NK_ASSERT(ctx);
    NK_ASSERT(ctx->current);
    NK_ASSERT(ctx->current->layout);
    if (!ctx || !ctx->current || !ctx->current->layout)
        return;

    layout = ctx->current->layout;
    NK_ASSERT(layout->at_y == layout->bounds.y);
    /* if this assert triggers you allocated space between nk_begin and nk_menubar_begin.
    If you want a menubar the first nuklear function after `nk_begin` has to be a
    `nk_menubar_begin` call. Inside the menubar you then have to allocate space for
    widgets (also supports multiple rows).
    Example:
        if (nk_begin(...)) {
            nk_menubar_begin(...);
                nk_layout_xxxx(...);
                nk_button(...);
                nk_layout_xxxx(...);
                nk_button(...);
            nk_menubar_end(...);
        }
        nk_end(...);
    */
    if (layout->flags & NK_WINDOW_HIDDEN || layout->flags & NK_WINDOW_MINIMIZED)
        return;

    layout->menu.x = layout->at_x;
    layout->menu.y = layout->at_y + layout->row.height;
    layout->menu.w = layout->bounds.w;
    layout->menu.offset.x = *layout->offset_x;
    layout->menu.offset.y = *layout->offset_y;
    *layout->offset_y = 0;
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
cmpq $0x0, 0x10(%rsp)
jne 0x5d8a4
movq 0x67778(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
leaq 0x53b1e(%rip), %rsi     # 0xb13a0
leaq 0x53b35(%rip), %rdx     # 0xb13be
movl $0x539a, %ecx           # imm = 0x539A
movb $0x0, %al
callq 0x13ec0
movq 0x67754(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
callq 0x149a0
jmp 0x5d8a6
jmp 0x5d8a8
movq 0x10(%rsp), %rax
cmpq $0x0, 0x4780(%rax)
jne 0x5d8ea
movq 0x67732(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
leaq 0x53ad8(%rip), %rsi     # 0xb13a0
leaq 0x53aef(%rip), %rdx     # 0xb13be
movl $0x539b, %ecx           # imm = 0x539B
movb $0x0, %al
callq 0x13ec0
movq 0x6770e(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
callq 0x149a0
jmp 0x5d8ec
jmp 0x5d8ee
movq 0x10(%rsp), %rax
movq 0x4780(%rax), %rax
cmpq $0x0, 0xa8(%rax)
jne 0x5d937
movq 0x676e5(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
leaq 0x53a8b(%rip), %rsi     # 0xb13a0
leaq 0x53aa2(%rip), %rdx     # 0xb13be
movl $0x539c, %ecx           # imm = 0x539C
movb $0x0, %al
callq 0x13ec0
movq 0x676c1(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
callq 0x149a0
jmp 0x5d939
cmpq $0x0, 0x10(%rsp)
je 0x5d966
movq 0x10(%rsp), %rax
cmpq $0x0, 0x4780(%rax)
je 0x5d966
movq 0x10(%rsp), %rax
movq 0x4780(%rax), %rax
cmpq $0x0, 0xa8(%rax)
jne 0x5d96b
jmp 0x5da72
movq 0x10(%rsp), %rax
movq 0x4780(%rax), %rax
movq 0xa8(%rax), %rax
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movss 0x2c(%rax), %xmm0
movq 0x8(%rsp), %rax
ucomiss 0xc(%rax), %xmm0
jne 0x5d99c
jp 0x5d99c
jmp 0x5d9cf
movq 0x6764d(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
leaq 0x539f3(%rip), %rsi     # 0xb13a0
leaq 0x53a0a(%rip), %rdx     # 0xb13be
movl $0x53a1, %ecx           # imm = 0x53A1
movb $0x0, %al
callq 0x13ec0
movq 0x67629(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
callq 0x149a0
jmp 0x5d9d1
movq 0x8(%rsp), %rax
movl 0x4(%rax), %eax
andl $0x2000, %eax           # imm = 0x2000
cmpl $0x0, %eax
jne 0x5d9f5
movq 0x8(%rsp), %rax
movl 0x4(%rax), %eax
andl $0x8000, %eax           # imm = 0x8000
cmpl $0x0, %eax
je 0x5d9f7
jmp 0x5da72
movq 0x8(%rsp), %rax
movss 0x28(%rax), %xmm0
movq 0x8(%rsp), %rax
movss %xmm0, 0x54(%rax)
movq 0x8(%rsp), %rax
movss 0x2c(%rax), %xmm0
movq 0x8(%rsp), %rax
addss 0x78(%rax), %xmm0
movq 0x8(%rsp), %rax
movss %xmm0, 0x58(%rax)
movq 0x8(%rsp), %rax
movss 0x10(%rax), %xmm0
movq 0x8(%rsp), %rax
movss %xmm0, 0x5c(%rax)
movq 0x8(%rsp), %rax
movq 0x18(%rax), %rax
movl (%rax), %ecx
movq 0x8(%rsp), %rax
movl %ecx, 0x64(%rax)
movq 0x8(%rsp), %rax
movq 0x20(%rax), %rax
movl (%rax), %ecx
movq 0x8(%rsp), %rax
movl %ecx, 0x68(%rax)
movq 0x8(%rsp), %rax
movq 0x20(%rax), %rax
movl $0x0, (%rax)
addq $0x18, %rsp
retq
nopw (%rax,%rax)