// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/gui/widgets/special/cursor.cpp
// Function: smooth::GUI::Cursor::Cursor(smooth::GUI::Point const&, smooth::GUI::Size const&)
S::GUI::Cursor::Cursor(const Point &iPos, const Size &iSize) : Widget(iPos, iSize)
{
	type		= classID;
	markStart	= -1;
	markEnd		= -1;
	maxSize		= 32768;
	promptPos	= 0;
	promptVisible	= False;
	timer		= NIL;
	marking		= False;
	visibleOffset	= 0;
	scrollPos	= 0;
	maxScrollPos	= 0;
	contextMenu	= NIL;
	historyPos	= 0;
	tabSize		= 4;

	imeAdvance	= 0;
	imeCursor	= False;

	SetTabstopCapable(True);

	onGetFocus.Connect(&Cursor::OnGetFocus, this);
	onGetFocusByKeyboard.Connect(&Cursor::OnGetFocusByKeyboard, this);
	onLoseFocus.Connect(&Cursor::OnLoseFocus, this);

	getContextMenu.Connect(&Cursor::GetContextMenu, this);

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

	AddHistoryEntry();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xa0, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x8(%rbp), %rdi
movq %rdi, -0x78(%rbp)
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
callq 0x5c220
movq -0x78(%rbp), %rdi
movq 0x13f441(%rip), %rax    # 0x208858
addq $0x10, %rax
movq %rax, (%rdi)
addq $0x5e8, %rdi            # imm = 0x5E8
movq %rdi, -0x70(%rbp)
callq 0xb5640
jmp 0xc9430
movq -0x78(%rbp), %rdi
addq $0x650, %rdi            # imm = 0x650
movq %rdi, -0x80(%rbp)
callq 0x74650
jmp 0xc9446
movq -0x78(%rbp), %rdi
addq $0x6a8, %rdi            # imm = 0x6A8
movq %rdi, -0x88(%rbp)
callq 0xb5640
jmp 0xc945f
movq -0x78(%rbp), %rdi
addq $0x708, %rdi            # imm = 0x708
movq %rdi, -0x90(%rbp)
callq 0x97240
jmp 0xc9478
movq -0x78(%rbp), %rdi
addq $0x728, %rdi            # imm = 0x728
movq %rdi, -0x98(%rbp)
callq 0x97240
jmp 0xc9491
movq -0x78(%rbp), %rdi
addq $0x748, %rdi            # imm = 0x748
movq %rdi, -0xa0(%rbp)
callq 0x901c0
jmp 0xc94aa
movq -0x78(%rbp), %rdi
movq 0x13f6ab(%rip), %rax    # 0x208b60
movswl (%rax), %esi
addq $0x20, %rdi
callq 0x5a2e0
jmp 0xc94c3
movq -0x78(%rbp), %rdi
movl $0xffffffff, 0x5c8(%rdi) # imm = 0xFFFFFFFF
movl $0xffffffff, 0x5cc(%rdi) # imm = 0xFFFFFFFF
movl $0x8000, 0x640(%rdi)    # imm = 0x8000
movl $0x0, 0x5c0(%rdi)
movb $0x0, 0x5c4(%rdi)
movq $0x0, 0x5b8(%rdi)
movb $0x0, 0x5c5(%rdi)
movl $0x0, 0x5d0(%rdi)
movl $0x0, 0x5d4(%rdi)
movl $0x0, 0x5d8(%rdi)
movq $0x0, 0x648(%rdi)
movl $0x0, 0x700(%rdi)
movl $0x4, 0x5e4(%rdi)
movl $0x0, 0x5dc(%rdi)
movb $0x0, 0x5e0(%rdi)
movl $0x1, %esi
callq 0x59600
jmp 0xc9562
movq -0x78(%rbp), %rcx
movq %rcx, %rdi
addq $0x4d8, %rdi            # imm = 0x4D8
movq 0x13eda1(%rip), %rax    # 0x208318
movq %rax, -0x38(%rbp)
movq $0x0, -0x30(%rbp)
movq -0x38(%rbp), %rsi
movq -0x30(%rbp), %rdx
callq 0xd0c10
jmp 0xc9592
movq -0x78(%rbp), %rcx
movq %rcx, %rdi
addq $0x4f8, %rdi            # imm = 0x4F8
movq 0x13f8c9(%rip), %rax    # 0x208e70
movq %rax, -0x48(%rbp)
movq $0x0, -0x40(%rbp)
movq -0x48(%rbp), %rsi
movq -0x40(%rbp), %rdx
callq 0xd0c10
jmp 0xc95c2
movq -0x78(%rbp), %rcx
movq %rcx, %rdi
addq $0x518, %rdi            # imm = 0x518
movq 0x13f7b1(%rip), %rax    # 0x208d88
movq %rax, -0x58(%rbp)
movq $0x0, -0x50(%rbp)
movq -0x58(%rbp), %rsi
movq -0x50(%rbp), %rdx
callq 0xd0c10
jmp 0xc95f2
movq -0x78(%rbp), %rcx
movq %rcx, %rdi
addq $0x1d0, %rdi            # imm = 0x1D0
movq 0x13f499(%rip), %rax    # 0x208aa0
movq %rax, -0x68(%rbp)
movq $0x0, -0x60(%rbp)
movq -0x68(%rbp), %rsi
movq -0x60(%rbp), %rdx
callq 0xd0d50
jmp 0xc9622
movq -0x78(%rbp), %rsi
movq %rsi, %rdi
addq $0x708, %rdi            # imm = 0x708
callq 0x8ad00
jmp 0xc9637
movq -0x78(%rbp), %rsi
movq %rsi, %rdi
addq $0x728, %rdi            # imm = 0x728
callq 0x8ad00
jmp 0xc964c
movq -0x78(%rbp), %rsi
movq %rsi, %rdi
addq $0x748, %rdi            # imm = 0x748
callq 0x8ad00
jmp 0xc9661
movq -0x78(%rbp), %rdi
callq 0x5d2f0
jmp 0xc966c
addq $0xa0, %rsp
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0xc971a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0xc9711
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0xc9708
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0xc96fc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0xc96f0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0xc96e4
movq -0xa0(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
callq 0x90650
movq -0x98(%rbp), %rdi
callq 0x976c0
movq -0x90(%rbp), %rdi
callq 0x976c0
movq -0x88(%rbp), %rdi
callq 0xb5900
movq -0x80(%rbp), %rdi
callq 0x74690
movq -0x70(%rbp), %rdi
callq 0xb5900
movq -0x78(%rbp), %rdi
callq 0x5bd90
movq -0x20(%rbp), %rdi
callq 0x5b6b0
nopl (%rax)