// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonnuklear/src/./nuklear/nuklear.h
// Function: nk_color_picker_behavior
NK_LIB nk_bool
nk_color_picker_behavior(nk_flags *state,
    const struct nk_rect *bounds, const struct nk_rect *matrix,
    const struct nk_rect *hue_bar, const struct nk_rect *alpha_bar,
    struct nk_colorf *color, const struct nk_input *in)
{
    float hsva[4];
    nk_bool value_changed = 0;
    nk_bool hsv_changed = 0;

    NK_ASSERT(state);
    NK_ASSERT(matrix);
    NK_ASSERT(hue_bar);
    NK_ASSERT(color);

    /* color matrix */
    nk_colorf_hsva_fv(hsva, *color);
    if (nk_button_behavior(state, *matrix, in, NK_BUTTON_REPEATER)) {
        hsva[1] = NK_SATURATE((in->mouse.pos.x - matrix->x) / (matrix->w-1));
        hsva[2] = 1.0f - NK_SATURATE((in->mouse.pos.y - matrix->y) / (matrix->h-1));
        value_changed = hsv_changed = 1;
    }
    /* hue bar */
    if (nk_button_behavior(state, *hue_bar, in, NK_BUTTON_REPEATER)) {
        hsva[0] = NK_SATURATE((in->mouse.pos.y - hue_bar->y) / (hue_bar->h-1));
        value_changed = hsv_changed = 1;
    }
    /* alpha bar */
    if (alpha_bar) {
        if (nk_button_behavior(state, *alpha_bar, in, NK_BUTTON_REPEATER)) {
            hsva[3] = 1.0f - NK_SATURATE((in->mouse.pos.y - alpha_bar->y) / (alpha_bar->h-1));
            value_changed = 1;
        }
    }
    nk_widget_state_reset(state);
    if (hsv_changed) {
        *color = nk_hsva_colorfv(hsva);
        *state = NK_WIDGET_STATE_ACTIVE;
    }
    if (value_changed) {
        color->a = hsva[3];
        *state = NK_WIDGET_STATE_ACTIVE;
    }
    /* set color picker widget state */
    if (nk_input_is_mouse_hovering_rect(in, *bounds))
        *state = NK_WIDGET_STATE_HOVERED;
    if (*state & NK_WIDGET_STATE_HOVER && !nk_input_is_mouse_prev_hovering_rect(in, *bounds))
        *state |= NK_WIDGET_STATE_ENTERED;
    else if (nk_input_is_mouse_prev_hovering_rect(in, *bounds))
        *state |= NK_WIDGET_STATE_LEFT;
    return value_changed;
}

// Assembly:
subq $0x98, %rsp
movq 0xa0(%rsp), %rax
movq %rdi, 0x90(%rsp)
movq %rsi, 0x88(%rsp)
movq %rdx, 0x80(%rsp)
movq %rcx, 0x78(%rsp)
movq %r8, 0x70(%rsp)
movq %r9, 0x68(%rsp)
movl $0x0, 0x4c(%rsp)
movl $0x0, 0x48(%rsp)
cmpq $0x0, 0x90(%rsp)
jne 0x90d94
movq 0x34288(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
leaq 0x2062e(%rip), %rsi     # 0xb13a0
leaq 0x20645(%rip), %rdx     # 0xb13be
movl $0x7107, %ecx           # imm = 0x7107
movb $0x0, %al
callq 0x13ec0
movq 0x34264(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
callq 0x149a0
jmp 0x90d96
jmp 0x90d98
cmpq $0x0, 0x80(%rsp)
jne 0x90dd6
movq 0x34246(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
leaq 0x205ec(%rip), %rsi     # 0xb13a0
leaq 0x20603(%rip), %rdx     # 0xb13be
movl $0x7108, %ecx           # imm = 0x7108
movb $0x0, %al
callq 0x13ec0
movq 0x34222(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
callq 0x149a0
jmp 0x90dd8
jmp 0x90dda
cmpq $0x0, 0x78(%rsp)
jne 0x90e15
movq 0x34207(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
leaq 0x205ad(%rip), %rsi     # 0xb13a0
leaq 0x205c4(%rip), %rdx     # 0xb13be
movl $0x7109, %ecx           # imm = 0x7109
movb $0x0, %al
callq 0x13ec0
movq 0x341e3(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
callq 0x149a0
jmp 0x90e17
jmp 0x90e19
cmpq $0x0, 0x68(%rsp)
jne 0x90e54
movq 0x341c8(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
leaq 0x2056e(%rip), %rsi     # 0xb13a0
leaq 0x20585(%rip), %rdx     # 0xb13be
movl $0x710a, %ecx           # imm = 0x710A
movb $0x0, %al
callq 0x13ec0
movq 0x341a4(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
callq 0x149a0
jmp 0x90e56
movq 0x68(%rsp), %rax
movsd (%rax), %xmm0
movsd 0x8(%rax), %xmm1
leaq 0x50(%rsp), %rdi
callq 0x14f80
movq 0x90(%rsp), %rdi
movq 0x80(%rsp), %rax
movq 0xa0(%rsp), %rsi
movsd (%rax), %xmm0
movsd 0x8(%rax), %xmm1
movl $0x1, %edx
callq 0x78060
cmpl $0x0, %eax
je 0x91184
movq 0xa0(%rsp), %rax
movss 0x144(%rax), %xmm0
movq 0x80(%rsp), %rax
subss (%rax), %xmm0
movq 0x80(%rsp), %rax
movss 0x8(%rax), %xmm1
movss 0x1c615(%rip), %xmm2    # 0xad4e8
subss %xmm2, %xmm1
divss %xmm1, %xmm0
movss 0x1c605(%rip), %xmm1    # 0xad4e8
ucomiss %xmm1, %xmm0
jbe 0x90ef8
movss 0x1c5f8(%rip), %xmm0    # 0xad4e8
movss %xmm0, 0x34(%rsp)
jmp 0x90f37
movq 0xa0(%rsp), %rax
movss 0x144(%rax), %xmm0
movq 0x80(%rsp), %rax
subss (%rax), %xmm0
movq 0x80(%rsp), %rax
movss 0x8(%rax), %xmm1
movss 0x1c5bf(%rip), %xmm2    # 0xad4e8
subss %xmm2, %xmm1
divss %xmm1, %xmm0
movss %xmm0, 0x34(%rsp)
movss 0x34(%rsp), %xmm0
xorps %xmm1, %xmm1
ucomiss %xmm1, %xmm0
jbe 0x90fec
movq 0xa0(%rsp), %rax
movss 0x144(%rax), %xmm0
movq 0x80(%rsp), %rax
subss (%rax), %xmm0
movq 0x80(%rsp), %rax
movss 0x8(%rax), %xmm1
movss 0x1c56e(%rip), %xmm2    # 0xad4e8
subss %xmm2, %xmm1
divss %xmm1, %xmm0
movss 0x1c55e(%rip), %xmm1    # 0xad4e8
ucomiss %xmm1, %xmm0
jbe 0x90f9f
movss 0x1c551(%rip), %xmm0    # 0xad4e8
movss %xmm0, 0x30(%rsp)
jmp 0x90fde
movq 0xa0(%rsp), %rax
movss 0x144(%rax), %xmm0
movq 0x80(%rsp), %rax
subss (%rax), %xmm0
movq 0x80(%rsp), %rax
movss 0x8(%rax), %xmm1
movss 0x1c518(%rip), %xmm2    # 0xad4e8
subss %xmm2, %xmm1
divss %xmm1, %xmm0
movss %xmm0, 0x30(%rsp)
movss 0x30(%rsp), %xmm0
movss %xmm0, 0x2c(%rsp)
jmp 0x90ff7
xorps %xmm0, %xmm0
movss %xmm0, 0x2c(%rsp)
jmp 0x90ff7
movss 0x2c(%rsp), %xmm0
movss %xmm0, 0x54(%rsp)
movq 0xa0(%rsp), %rax
movss 0x148(%rax), %xmm0
movq 0x80(%rsp), %rax
subss 0x4(%rax), %xmm0
movq 0x80(%rsp), %rax
movss 0xc(%rax), %xmm1
movss 0x1c4b3(%rip), %xmm2    # 0xad4e8
subss %xmm2, %xmm1
divss %xmm1, %xmm0
movss 0x1c4a3(%rip), %xmm1    # 0xad4e8
ucomiss %xmm1, %xmm0
jbe 0x9105a
movss 0x1c496(%rip), %xmm0    # 0xad4e8
movss %xmm0, 0x28(%rsp)
jmp 0x9109a
movq 0xa0(%rsp), %rax
movss 0x148(%rax), %xmm0
movq 0x80(%rsp), %rax
subss 0x4(%rax), %xmm0
movq 0x80(%rsp), %rax
movss 0xc(%rax), %xmm1
movss 0x1c45c(%rip), %xmm2    # 0xad4e8
subss %xmm2, %xmm1
divss %xmm1, %xmm0
movss %xmm0, 0x28(%rsp)
movss 0x28(%rsp), %xmm0
xorps %xmm1, %xmm1
ucomiss %xmm1, %xmm0
jbe 0x91151
movq 0xa0(%rsp), %rax
movss 0x148(%rax), %xmm0
movq 0x80(%rsp), %rax
subss 0x4(%rax), %xmm0
movq 0x80(%rsp), %rax
movss 0xc(%rax), %xmm1
movss 0x1c40a(%rip), %xmm2    # 0xad4e8
subss %xmm2, %xmm1
divss %xmm1, %xmm0
movss 0x1c3fa(%rip), %xmm1    # 0xad4e8
ucomiss %xmm1, %xmm0
jbe 0x91103
movss 0x1c3ed(%rip), %xmm0    # 0xad4e8
movss %xmm0, 0x24(%rsp)
jmp 0x91143
movq 0xa0(%rsp), %rax
movss 0x148(%rax), %xmm0
movq 0x80(%rsp), %rax
subss 0x4(%rax), %xmm0
movq 0x80(%rsp), %rax
movss 0xc(%rax), %xmm1
movss 0x1c3b3(%rip), %xmm2    # 0xad4e8
subss %xmm2, %xmm1
divss %xmm1, %xmm0
movss %xmm0, 0x24(%rsp)
movss 0x24(%rsp), %xmm0
movss %xmm0, 0x20(%rsp)
jmp 0x9115c
xorps %xmm0, %xmm0
movss %xmm0, 0x20(%rsp)
jmp 0x9115c
movss 0x20(%rsp), %xmm1
movss 0x1c37e(%rip), %xmm0    # 0xad4e8
subss %xmm1, %xmm0
movss %xmm0, 0x58(%rsp)
movl $0x1, 0x48(%rsp)
movl $0x1, 0x4c(%rsp)
movq 0x90(%rsp), %rdi
movq 0x78(%rsp), %rax
movq 0xa0(%rsp), %rsi
movsd (%rax), %xmm0
movsd 0x8(%rax), %xmm1
movl $0x1, %edx
callq 0x78060
cmpl $0x0, %eax
je 0x91312
movq 0xa0(%rsp), %rax
movss 0x148(%rax), %xmm0
movq 0x78(%rsp), %rax
subss 0x4(%rax), %xmm0
movq 0x78(%rsp), %rax
movss 0xc(%rax), %xmm1
movss 0x1c307(%rip), %xmm2    # 0xad4e8
subss %xmm2, %xmm1
divss %xmm1, %xmm0
movss 0x1c2f7(%rip), %xmm1    # 0xad4e8
ucomiss %xmm1, %xmm0
jbe 0x91206
movss 0x1c2ea(%rip), %xmm0    # 0xad4e8
movss %xmm0, 0x1c(%rsp)
jmp 0x91240
movq 0xa0(%rsp), %rax
movss 0x148(%rax), %xmm0
movq 0x78(%rsp), %rax
subss 0x4(%rax), %xmm0
movq 0x78(%rsp), %rax
movss 0xc(%rax), %xmm1
movss 0x1c2b6(%rip), %xmm2    # 0xad4e8
subss %xmm2, %xmm1
divss %xmm1, %xmm0
movss %xmm0, 0x1c(%rsp)
movss 0x1c(%rsp), %xmm0
xorps %xmm1, %xmm1
ucomiss %xmm1, %xmm0
jbe 0x912eb
movq 0xa0(%rsp), %rax
movss 0x148(%rax), %xmm0
movq 0x78(%rsp), %rax
subss 0x4(%rax), %xmm0
movq 0x78(%rsp), %rax
movss 0xc(%rax), %xmm1
movss 0x1c26a(%rip), %xmm2    # 0xad4e8
subss %xmm2, %xmm1
divss %xmm1, %xmm0
movss 0x1c25a(%rip), %xmm1    # 0xad4e8
ucomiss %xmm1, %xmm0
jbe 0x912a3
movss 0x1c24d(%rip), %xmm0    # 0xad4e8
movss %xmm0, 0x18(%rsp)
jmp 0x912dd
movq 0xa0(%rsp), %rax
movss 0x148(%rax), %xmm0
movq 0x78(%rsp), %rax
subss 0x4(%rax), %xmm0
movq 0x78(%rsp), %rax
movss 0xc(%rax), %xmm1
movss 0x1c219(%rip), %xmm2    # 0xad4e8
subss %xmm2, %xmm1
divss %xmm1, %xmm0
movss %xmm0, 0x18(%rsp)
movss 0x18(%rsp), %xmm0
movss %xmm0, 0x14(%rsp)
jmp 0x912f6
xorps %xmm0, %xmm0
movss %xmm0, 0x14(%rsp)
jmp 0x912f6
movss 0x14(%rsp), %xmm0
movss %xmm0, 0x50(%rsp)
movl $0x1, 0x48(%rsp)
movl $0x1, 0x4c(%rsp)
cmpq $0x0, 0x70(%rsp)
je 0x914b2
movq 0x90(%rsp), %rdi
movq 0x70(%rsp), %rax
movq 0xa0(%rsp), %rsi
movsd (%rax), %xmm0
movsd 0x8(%rax), %xmm1
movl $0x1, %edx
callq 0x78060
cmpl $0x0, %eax
je 0x914b0
movq 0xa0(%rsp), %rax
movss 0x148(%rax), %xmm0
movq 0x70(%rsp), %rax
subss 0x4(%rax), %xmm0
movq 0x70(%rsp), %rax
movss 0xc(%rax), %xmm1
movss 0x1c16d(%rip), %xmm2    # 0xad4e8
subss %xmm2, %xmm1
divss %xmm1, %xmm0
movss 0x1c15d(%rip), %xmm1    # 0xad4e8
ucomiss %xmm1, %xmm0
jbe 0x913a0
movss 0x1c150(%rip), %xmm0    # 0xad4e8
movss %xmm0, 0x10(%rsp)
jmp 0x913da
movq 0xa0(%rsp), %rax
movss 0x148(%rax), %xmm0
movq 0x70(%rsp), %rax
subss 0x4(%rax), %xmm0
movq 0x70(%rsp), %rax
movss 0xc(%rax), %xmm1
movss 0x1c11c(%rip), %xmm2    # 0xad4e8
subss %xmm2, %xmm1
divss %xmm1, %xmm0
movss %xmm0, 0x10(%rsp)
movss 0x10(%rsp), %xmm0
xorps %xmm1, %xmm1
ucomiss %xmm1, %xmm0
jbe 0x91485
movq 0xa0(%rsp), %rax
movss 0x148(%rax), %xmm0
movq 0x70(%rsp), %rax
subss 0x4(%rax), %xmm0
movq 0x70(%rsp), %rax
movss 0xc(%rax), %xmm1
movss 0x1c0d0(%rip), %xmm2    # 0xad4e8
subss %xmm2, %xmm1
divss %xmm1, %xmm0
movss 0x1c0c0(%rip), %xmm1    # 0xad4e8
ucomiss %xmm1, %xmm0
jbe 0x9143d
movss 0x1c0b3(%rip), %xmm0    # 0xad4e8
movss %xmm0, 0xc(%rsp)
jmp 0x91477
movq 0xa0(%rsp), %rax
movss 0x148(%rax), %xmm0
movq 0x70(%rsp), %rax
subss 0x4(%rax), %xmm0
movq 0x70(%rsp), %rax
movss 0xc(%rax), %xmm1
movss 0x1c07f(%rip), %xmm2    # 0xad4e8
subss %xmm2, %xmm1
divss %xmm1, %xmm0
movss %xmm0, 0xc(%rsp)
movss 0xc(%rsp), %xmm0
movss %xmm0, 0x8(%rsp)
jmp 0x91490
xorps %xmm0, %xmm0
movss %xmm0, 0x8(%rsp)
jmp 0x91490
movss 0x8(%rsp), %xmm1
movss 0x1c04a(%rip), %xmm0    # 0xad4e8
subss %xmm1, %xmm0
movss %xmm0, 0x5c(%rsp)
movl $0x1, 0x4c(%rsp)
jmp 0x914b2
movq 0x90(%rsp), %rax
movl (%rax), %eax
andl $0x2, %eax
cmpl $0x0, %eax
je 0x914d4
movq 0x90(%rsp), %rax
movl $0x6, (%rax)
jmp 0x914e2
movq 0x90(%rsp), %rax
movl $0x4, (%rax)
cmpl $0x0, 0x48(%rsp)
je 0x9152b
movq 0x68(%rsp), %rax
movq %rax, (%rsp)
leaq 0x50(%rsp), %rdi
callq 0x15300
movq (%rsp), %rax
movlpd %xmm0, 0x38(%rsp)
movlpd %xmm1, 0x40(%rsp)
movq 0x38(%rsp), %rcx
movq %rcx, (%rax)
movq 0x40(%rsp), %rcx
movq %rcx, 0x8(%rax)
movq 0x90(%rsp), %rax
movl $0x22, (%rax)
cmpl $0x0, 0x4c(%rsp)
je 0x91550
movss 0x5c(%rsp), %xmm0
movq 0x68(%rsp), %rax
movss %xmm0, 0xc(%rax)
movq 0x90(%rsp), %rax
movl $0x22, (%rax)
movq 0xa0(%rsp), %rdi
movq 0x88(%rsp), %rax
movsd (%rax), %xmm0
movsd 0x8(%rax), %xmm1
callq 0x15440
cmpl $0x0, %eax
je 0x91581
movq 0x90(%rsp), %rax
movl $0x12, (%rax)
movq 0x90(%rsp), %rax
movl (%rax), %eax
andl $0x10, %eax
cmpl $0x0, %eax
je 0x915c7
movq 0xa0(%rsp), %rdi
movq 0x88(%rsp), %rax
movsd (%rax), %xmm0
movsd 0x8(%rax), %xmm1
callq 0x14d70
cmpl $0x0, %eax
jne 0x915c7
movq 0x90(%rsp), %rax
movl (%rax), %ecx
orl $0x8, %ecx
movl %ecx, (%rax)
jmp 0x915fb
movq 0xa0(%rsp), %rdi
movq 0x88(%rsp), %rax
movsd (%rax), %xmm0
movsd 0x8(%rax), %xmm1
callq 0x14d70
cmpl $0x0, %eax
je 0x915f9
movq 0x90(%rsp), %rax
movl (%rax), %ecx
orl $0x40, %ecx
movl %ecx, (%rax)
jmp 0x915fb
movl 0x4c(%rsp), %eax
addq $0x98, %rsp
retq
nopw (%rax,%rax)