// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/gui/widgets/basic/editbox.cpp
// Function: smooth::GUI::EditBox::EditBox(smooth::GUI::Point const&, smooth::GUI::Size const&, int)
S::GUI::EditBox::EditBox(const Point &iPos, const Size &iSize, Int maxSize) : Widget(iPos, iSize)
{
	type		= classID;

	dropDownList	= NIL;
	comboBox	= NIL;

	font.SetColor(Setup::ClientTextColor);

	if (GetWidth()	== 0) SetWidth(80);
	if (GetHeight() == 0) SetHeight(19);

	cursor = new Cursor(Point(3, Math::Ceil(Float(GetHeight() - font.GetUnscaledTextSizeY()) / 2) - 2),
			    GetSize() - Size(6, Math::Ceil(Float(GetHeight() - font.GetUnscaledTextSizeY()) / 2) - 1));
	cursor->SetMaxSize(maxSize);
	cursor->SetBackgroundColor(Setup::ClientColor);
	cursor->SetFont(font);
	cursor->onInput.Connect(&onInput);
	cursor->onEnter.Connect(&onEnter);

	Add(cursor);

	onInput.SetParentObject(this);
	onEnter.SetParentObject(this);

	onChangeSize.Connect(&EditBox::OnChangeSize, this);
	onLoseFocus.Connect(&cursor->onLoseFocus);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xc0, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movl %ecx, -0x1c(%rbp)
movq -0x8(%rbp), %rdi
movq %rdi, -0x68(%rbp)
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
callq 0x5c220
movq -0x68(%rbp), %rdi
movq 0x172c3e(%rip), %rax    # 0x208dc8
addq $0x10, %rax
movq %rax, (%rdi)
addq $0x5d0, %rdi            # imm = 0x5D0
movq %rdi, -0x60(%rbp)
callq 0x97240
jmp 0x961a3
movq -0x68(%rbp), %rdi
addq $0x5f0, %rdi            # imm = 0x5F0
movq %rdi, -0x70(%rbp)
callq 0x97240
jmp 0x961b9
movq -0x68(%rbp), %rdi
addq $0x610, %rdi            # imm = 0x610
movq %rdi, -0x78(%rbp)
callq 0x97290
jmp 0x961cf
movq -0x68(%rbp), %rdi
movq 0x172206(%rip), %rax    # 0x2083e0
movswl (%rax), %esi
addq $0x20, %rdi
callq 0x5a2e0
jmp 0x961e8
movq -0x68(%rbp), %rdi
movq $0x0, 0x5c0(%rdi)
movq $0x0, 0x5c8(%rdi)
addq $0x140, %rdi            # imm = 0x140
movq 0x172bd0(%rip), %rsi    # 0x208de0
callq 0x5d110
jmp 0x96217
movq -0x68(%rbp), %rdi
callq 0x5a210
movl %eax, -0x7c(%rbp)
jmp 0x96225
movl -0x7c(%rbp), %eax
cmpl $0x0, %eax
jne 0x96283
movq -0x68(%rbp), %rdi
movl $0x50, %esi
callq 0x5db30
jmp 0x9623d
jmp 0x96283
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
jmp 0x96570
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
jmp 0x96567
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
jmp 0x9655e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
jmp 0x96555
movq -0x68(%rbp), %rdi
callq 0x5b860
movl %eax, -0x80(%rbp)
jmp 0x96291
movl -0x80(%rbp), %eax
cmpl $0x0, %eax
jne 0x962ab
movq -0x68(%rbp), %rdi
movl $0x13, %esi
callq 0x5bed0
jmp 0x962a9
jmp 0x962ab
movl $0x768, %edi            # imm = 0x768
callq 0x59820
movq %rax, -0x88(%rbp)
jmp 0x962be
movq -0x68(%rbp), %rdi
callq 0x5b860
movl %eax, -0x8c(%rbp)
jmp 0x962cf
movq -0x68(%rbp), %rdi
addq $0x140, %rdi            # imm = 0x140
movq 0x172ac7(%rip), %rsi    # 0x208da8
callq 0x5d5e0
movl %eax, -0x90(%rbp)
jmp 0x962ee
movl -0x90(%rbp), %ecx
movl -0x8c(%rbp), %eax
subl %ecx, %eax
cvtsi2sd %eax, %xmm0
movsd 0xf1080(%rip), %xmm1    # 0x187388
mulsd %xmm1, %xmm0
callq 0x5b240
movq %rax, -0x98(%rbp)
jmp 0x9631a
movq -0x98(%rbp), %rax
movl %eax, %edx
addl $-0x2, %edx
leaq -0x34(%rbp), %rdi
movl $0x3, %esi
callq 0x5c2c0
jmp 0x96336
movq -0x68(%rbp), %rdi
callq 0x5bf70
movq %rax, -0xa0(%rbp)
jmp 0x96348
movq -0x68(%rbp), %rdi
callq 0x5b860
movl %eax, -0xa4(%rbp)
jmp 0x96359
movq -0x68(%rbp), %rdi
addq $0x140, %rdi            # imm = 0x140
movq 0x172a3d(%rip), %rsi    # 0x208da8
callq 0x5d5e0
movl %eax, -0xa8(%rbp)
jmp 0x96378
movl -0xa8(%rbp), %ecx
movl -0xa4(%rbp), %eax
subl %ecx, %eax
cvtsi2sd %eax, %xmm0
movsd 0xf0ff6(%rip), %xmm1    # 0x187388
mulsd %xmm1, %xmm0
callq 0x5b240
movq %rax, -0xb0(%rbp)
jmp 0x963a4
movq -0xb0(%rbp), %rax
movl %eax, %edx
decl %edx
leaq -0x44(%rbp), %rdi
movl $0x6, %esi
callq 0x59260
jmp 0x963bf
movq -0xa0(%rbp), %rdi
leaq -0x44(%rbp), %rsi
callq 0x5db90
movq %rax, -0xb8(%rbp)
jmp 0x963d8
movq -0x88(%rbp), %rdi
movq -0xb8(%rbp), %rax
movq %rax, -0x3c(%rbp)
leaq -0x34(%rbp), %rsi
leaq -0x3c(%rbp), %rdx
callq 0x59ed0
jmp 0x963f9
movq -0x68(%rbp), %rax
movq -0x88(%rbp), %rcx
movq %rcx, 0x5b8(%rax)
movq 0x5b8(%rax), %rdi
movl -0x1c(%rbp), %esi
callq 0x5ca90
jmp 0x9641c
movq -0x68(%rbp), %rax
movq 0x5b8(%rax), %rdi
movq (%rdi), %rax
movq 0x138(%rax), %rax
movq 0x172210(%rip), %rsi    # 0x208648
callq *%rax
jmp 0x9643c
movq -0x68(%rbp), %rsi
movq 0x5b8(%rsi), %rdi
addq $0x140, %rsi            # imm = 0x140
movq (%rdi), %rax
movq 0xe0(%rax), %rax
callq *%rax
jmp 0x9645c
movq -0x68(%rbp), %rsi
movq 0x5b8(%rsi), %rdi
addq $0x708, %rdi            # imm = 0x708
addq $0x5d0, %rsi            # imm = 0x5D0
callq 0x972e0
jmp 0x9647c
movq -0x68(%rbp), %rsi
movq 0x5b8(%rsi), %rdi
addq $0x728, %rdi            # imm = 0x728
addq $0x5f0, %rsi            # imm = 0x5F0
callq 0x972e0
jmp 0x9649c
movq -0x68(%rbp), %rdi
movq 0x5b8(%rdi), %rsi
movq (%rdi), %rax
movq 0x30(%rax), %rax
callq *%rax
jmp 0x964b2
movq -0x68(%rbp), %rsi
movq %rsi, %rdi
addq $0x5d0, %rdi            # imm = 0x5D0
callq 0x8ad00
jmp 0x964c7
movq -0x68(%rbp), %rsi
movq %rsi, %rdi
addq $0x5f0, %rdi            # imm = 0x5F0
callq 0x8ad00
jmp 0x964dc
movq -0x68(%rbp), %rcx
movq %rcx, %rdi
addq $0x298, %rdi            # imm = 0x298
movq 0x172657(%rip), %rax    # 0x208b48
movq %rax, -0x58(%rbp)
movq $0x0, -0x50(%rbp)
movq -0x58(%rbp), %rsi
movq -0x50(%rbp), %rdx
callq 0x97410
jmp 0x9650c
movq -0x68(%rbp), %rax
movq %rax, %rdi
addq $0x518, %rdi            # imm = 0x518
movq 0x5b8(%rax), %rsi
addq $0x518, %rsi            # imm = 0x518
callq 0x97550
jmp 0x9652f
addq $0xc0, %rsp
popq %rbp
retq
movq -0x88(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
movl $0x768, %esi            # imm = 0x768
callq 0x595b0
movq -0x78(%rbp), %rdi
callq 0x97680
movq -0x70(%rbp), %rdi
callq 0x976c0
movq -0x60(%rbp), %rdi
callq 0x976c0
movq -0x68(%rbp), %rdi
callq 0x5bd90
movq -0x28(%rbp), %rdi
callq 0x5b6b0
nopw %cs:(%rax,%rax)