// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/gui/widgets/multi/image/imagebox.cpp
// Function: smooth::GUI::ImageBox::ImageBox(smooth::GUI::Point const&, smooth::GUI::Size const&)
S::GUI::ImageBox::ImageBox(const Point &iPos, const Size &iSize)
{
	type	     = classID;

	scrollbar    = NIL;
	scrollbarPos = 0;

	SetBackgroundColor(Setup::ClientColor);
	SetMetrics(iPos, iSize);

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

	onChangeSize.Connect(&ImageBox::OnChangeSize, this);

	scrollbar = new Scrollbar(Point(), Size(), OR_HORZ, &scrollbarPos, 0, 1);
	scrollbar->SetOrientation(OR_LOWERLEFT);
	scrollbar->SetStepSize(15);
	scrollbar->onValueChange.Connect(&ImageBox::OnScrollbarValueChange, this);
	scrollbar->Hide();

	Add(scrollbar);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x8(%rbp), %rdi
movq %rdi, -0x68(%rbp)
callq 0x5b340
movq -0x68(%rbp), %rdi
movq 0x15dde1(%rip), %rax    # 0x208e60
addq $0x10, %rax
movq %rax, (%rdi)
addq $0x6d8, %rdi            # imm = 0x6D8
movq %rdi, -0x60(%rbp)
xorl %esi, %esi
callq 0x5da90
jmp 0xab09a
movq -0x68(%rbp), %rdi
movq 0x15d7eb(%rip), %rax    # 0x208890
movswl (%rax), %esi
addq $0x20, %rdi
callq 0x5a2e0
jmp 0xab0b3
movq -0x68(%rbp), %rdi
movq $0x0, 0x6c8(%rdi)
movl $0x0, 0x6d0(%rdi)
movq (%rdi), %rax
movq 0x138(%rax), %rax
movq 0x15d56b(%rip), %rsi    # 0x208648
callq *%rax
jmp 0xab0e1
movq -0x68(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
movq (%rdi), %rax
movq 0x150(%rax), %rax
callq *%rax
jmp 0xab0fb
movq -0x68(%rbp), %rdi
callq 0x5a210
movl %eax, -0x6c(%rbp)
jmp 0xab109
movl -0x6c(%rbp), %eax
cmpl $0x0, %eax
jne 0xab145
movq -0x68(%rbp), %rdi
movl $0x78, %esi
callq 0x5db30
jmp 0xab121
jmp 0xab145
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0xab2be
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0xab2b5
movq -0x68(%rbp), %rdi
callq 0x5b860
movl %eax, -0x70(%rbp)
jmp 0xab153
movl -0x70(%rbp), %eax
cmpl $0x0, %eax
jne 0xab16d
movq -0x68(%rbp), %rdi
movl $0x50, %esi
callq 0x5bed0
jmp 0xab16b
jmp 0xab16d
movq -0x68(%rbp), %rcx
movq %rcx, %rdi
addq $0x298, %rdi            # imm = 0x298
movq 0x15d566(%rip), %rax    # 0x2086e8
movq %rax, -0x38(%rbp)
movq $0x0, -0x30(%rbp)
movq -0x38(%rbp), %rsi
movq -0x30(%rbp), %rdx
callq 0xac1e0
jmp 0xab19d
movl $0x668, %edi            # imm = 0x668
callq 0x59820
movq %rax, -0x78(%rbp)
jmp 0xab1ad
leaq -0x40(%rbp), %rdi
callq 0x5b530
jmp 0xab1b8
leaq -0x48(%rbp), %rdi
callq 0x59230
jmp 0xab1c3
movq -0x78(%rbp), %rdi
movq -0x68(%rbp), %r8
addq $0x6d0, %r8             # imm = 0x6D0
movq %rsp, %rax
movl $0x1, (%rax)
leaq -0x40(%rbp), %rsi
leaq -0x48(%rbp), %rdx
movl $0x1, %ecx
xorl %r9d, %r9d
callq 0x5ad70
jmp 0xab1f2
movq -0x68(%rbp), %rax
movq -0x78(%rbp), %rcx
movq %rcx, 0x6c8(%rax)
movq 0x6c8(%rax), %rdi
movq (%rdi), %rax
movq 0x120(%rax), %rax
movl $0x18, %esi
callq *%rax
jmp 0xab21b
movq -0x68(%rbp), %rax
movq 0x6c8(%rax), %rdi
movl $0xf, %esi
callq 0x592e0
jmp 0xab232
movq -0x68(%rbp), %rcx
movq 0x6c8(%rcx), %rdi
addq $0x618, %rdi            # imm = 0x618
movq 0x15d55d(%rip), %rax    # 0x2087a8
movq %rax, -0x58(%rbp)
movq $0x0, -0x50(%rbp)
movq -0x58(%rbp), %rsi
movq -0x50(%rbp), %rdx
callq 0xac340
jmp 0xab266
movq -0x68(%rbp), %rax
movq 0x6c8(%rax), %rdi
movq (%rdi), %rax
movq 0x60(%rax), %rax
callq *%rax
jmp 0xab27c
movq -0x68(%rbp), %rdi
movq 0x6c8(%rdi), %rsi
movq (%rdi), %rax
movq 0x30(%rax), %rax
callq *%rax
jmp 0xab292
addq $0x80, %rsp
popq %rbp
retq
movq -0x78(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
movl $0x668, %esi            # imm = 0x668
callq 0x595b0
movq -0x60(%rbp), %rdi
callq 0x5df00
movq -0x68(%rbp), %rdi
callq 0x5d800
movq -0x20(%rbp), %rdi
callq 0x5b6b0