// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/gui/widgets/multi/list/listboxheader.cpp
// Function: smooth::GUI::ListBoxHeader::ListBoxHeader(smooth::GUI::Point const&, smooth::GUI::Size const&)
S::GUI::ListBoxHeader::ListBoxHeader(const Point &iPos, const Size &iSize) : Widget(iPos, iSize)
{
	moveTab		  = -1;
	draggingTab	  = False;

	moveTabStartWidth = 0;
	lastTabStartWidth = 0;

	type		  = classID;

	font.SetWeight(Font::Bold);

	dragHotspot	  = new Hotspot(Point(0, 0), GetSize());
	dragHotspot->SetIndependent(True);
	dragHotspot->onMouseDragStart.Connect(&ListBoxHeader::OnMouseDragStart, this);
	dragHotspot->onMouseDrag.Connect(&ListBoxHeader::OnMouseDrag, this);
	dragHotspot->onMouseDragEnd.Connect(&ListBoxHeader::OnMouseDragEnd, this);
	dragHotspot->onLeftButtonClick.Connect(&ListBoxHeader::OnLeftButtonClick, this);

	Add(dragHotspot);

	onChangeSize.Connect(&ListBoxHeader::OnChangeSize, this);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xc0, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x8(%rbp), %rdi
movq %rdi, -0x88(%rbp)
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
callq 0x5c220
movq -0x88(%rbp), %rdi
movq 0x155033(%rip), %rax    # 0x208b00
addq $0x10, %rax
movq %rax, (%rdi)
addq $0x5c0, %rdi            # imm = 0x5C0
callq 0x5b530
jmp 0xb3ae2
movq -0x88(%rbp), %rdi
addq $0x5d8, %rdi            # imm = 0x5D8
movq %rdi, -0x90(%rbp)
callq 0x74650
jmp 0xb3afe
movq -0x88(%rbp), %rdi
addq $0x630, %rdi            # imm = 0x630
movq %rdi, -0x98(%rbp)
callq 0xb5640
jmp 0xb3b1a
movq -0x88(%rbp), %rdi
addq $0x688, %rdi            # imm = 0x688
movq %rdi, -0xa0(%rbp)
callq 0xb5640
jmp 0xb3b36
movq -0x88(%rbp), %rdi
addq $0x6e0, %rdi            # imm = 0x6E0
movq %rdi, -0xa8(%rbp)
callq 0xaa290
jmp 0xb3b52
movq -0x88(%rbp), %rdi
addq $0x738, %rdi            # imm = 0x738
movq %rdi, -0xb0(%rbp)
callq 0x90210
jmp 0xb3b6e
movq -0x88(%rbp), %rdi
movl $0xffffffff, 0x5b8(%rdi) # imm = 0xFFFFFFFF
movb $0x0, 0x5bc(%rdi)
movl $0x0, 0x5c8(%rdi)
movl $0x0, 0x5cc(%rdi)
movq 0x154b17(%rip), %rax    # 0x2086b8
movswl (%rax), %esi
addq $0x20, %rdi
callq 0x5a2e0
jmp 0xb3baf
movq -0x88(%rbp), %rdi
addq $0x140, %rdi            # imm = 0x140
movq 0x15485c(%rip), %rax    # 0x208420
movswl (%rax), %esi
callq 0x5bbd0
jmp 0xb3bce
movl $0x5b8, %edi            # imm = 0x5B8
callq 0x59820
movq %rax, -0xb8(%rbp)
jmp 0xb3be1
leaq -0x2c(%rbp), %rdi
xorl %edx, %edx
movl %edx, %esi
callq 0x5c2c0
jmp 0xb3bf0
movq -0x88(%rbp), %rdi
callq 0x5bf70
movq %rax, -0xc0(%rbp)
jmp 0xb3c05
movq -0xc0(%rbp), %rdx
movq -0xb8(%rbp), %rdi
leaq -0x2c(%rbp), %rsi
callq 0x59c30
jmp 0xb3c1e
movq -0x88(%rbp), %rax
movq -0xb8(%rbp), %rcx
movq %rcx, 0x5d0(%rax)
movq 0x5d0(%rax), %rdi
movl $0x1, %esi
callq 0x5db80
jmp 0xb3c46
movq -0x88(%rbp), %rcx
movq 0x5d0(%rcx), %rdi
addq $0x3f8, %rdi            # imm = 0x3F8
movq 0x154916(%rip), %rax    # 0x208578
movq %rax, -0x40(%rbp)
movq $0x0, -0x38(%rbp)
movq -0x40(%rbp), %rsi
movq -0x38(%rbp), %rdx
callq 0xb5680
jmp 0xb3c7d
movq -0x88(%rbp), %rcx
movq 0x5d0(%rcx), %rdi
addq $0x418, %rdi            # imm = 0x418
movq 0x154a77(%rip), %rax    # 0x208710
movq %rax, -0x50(%rbp)
movq $0x0, -0x48(%rbp)
movq -0x50(%rbp), %rsi
movq -0x48(%rbp), %rdx
callq 0xb5680
jmp 0xb3cb4
movq -0x88(%rbp), %rcx
movq 0x5d0(%rcx), %rdi
addq $0x438, %rdi            # imm = 0x438
movq 0x154790(%rip), %rax    # 0x208460
movq %rax, -0x60(%rbp)
movq $0x0, -0x58(%rbp)
movq -0x60(%rbp), %rsi
movq -0x58(%rbp), %rdx
callq 0xb5680
jmp 0xb3ceb
movq -0x88(%rbp), %rcx
movq 0x5d0(%rcx), %rdi
addq $0x338, %rdi            # imm = 0x338
movq 0x154fa1(%rip), %rax    # 0x208ca8
movq %rax, -0x70(%rbp)
movq $0x0, -0x68(%rbp)
movq -0x70(%rbp), %rsi
movq -0x68(%rbp), %rdx
callq 0xb5680
jmp 0xb3d22
movq -0x88(%rbp), %rdi
movq 0x5d0(%rdi), %rsi
movq (%rdi), %rax
movq 0x30(%rax), %rax
callq *%rax
jmp 0xb3d3b
movq -0x88(%rbp), %rcx
movq %rcx, %rdi
addq $0x298, %rdi            # imm = 0x298
movq 0x155025(%rip), %rax    # 0x208d78
movq %rax, -0x80(%rbp)
movq $0x0, -0x78(%rbp)
movq -0x80(%rbp), %rsi
movq -0x78(%rbp), %rdx
callq 0xb57c0
jmp 0xb3d6e
addq $0xc0, %rsp
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0xb3e2a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0xb3e1e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0xb3e12
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0xb3e06
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0xb3dfa
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0xb3dee
movq -0xb8(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
movl $0x5b8, %esi            # imm = 0x5B8
callq 0x595b0
movq -0xb0(%rbp), %rdi
callq 0x90610
movq -0xa8(%rbp), %rdi
callq 0xaa330
movq -0xa0(%rbp), %rdi
callq 0xb5900
movq -0x98(%rbp), %rdi
callq 0xb5900
movq -0x90(%rbp), %rdi
callq 0x74690
movq -0x88(%rbp), %rdi
callq 0x5bd90
movq -0x20(%rbp), %rdi
callq 0x5b6b0
nop