// File: /workspace/github_c_makefile_star2_O2/enzo1982[P]smooth/classes/graphics/backends/cairo/fontcairo.cpp
// Function: smooth::GUI::FontCairo::Initialize()
S::Int S::GUI::FontCairo::Initialize()
{
	Font::Default	= "Helvetica";
	Setup::FontSize = 1.0;

	String	 font	     = Backends::BackendXLib::QueryGSettings("org.gnome.desktop.interface", "font-name");
	Float	 scaleFactor = Backends::BackendXLib::QueryGSettings("org.gnome.desktop.interface", "text-scaling-factor").ToFloat();

	if (font != NIL)
	{
		Font::Default	= font.SubString(1, font.FindLast(" ") - 1);
		Setup::FontSize = font.SubString(font.FindLast(" ") + 1, font.Length() - font.FindLast(" ") - 2).ToFloat() / Font::DefaultSize;
	}

	if (scaleFactor != 0) Setup::FontSize *= scaleFactor;

	return Success();
}

// Assembly:
pushq %rbp
pushq %r14
pushq %rbx
subq $0x70, %rsp
movq 0xa4e61(%rip), %rdi     # 0x161db8
leaq 0x465ab(%rip), %rsi     # 0x103509
callq 0x57010
movq 0xa48ae(%rip), %r14     # 0x161818
movabsq $0x3ff0000000000000, %rax # imm = 0x3FF0000000000000
movq %rax, (%r14)
leaq 0x46595(%rip), %rsi     # 0x103513
leaq 0x20(%rsp), %rdi
callq 0x58c40
leaq 0x465a0(%rip), %rsi     # 0x10352f
leaq 0x8(%rsp), %rdi
callq 0x58c40
leaq 0x38(%rsp), %rdi
leaq 0x20(%rsp), %rsi
leaq 0x8(%rsp), %rdx
callq 0xb7342
leaq 0x8(%rsp), %rdi
callq 0x5a588
leaq 0x20(%rsp), %rdi
callq 0x5a588
leaq 0x4654b(%rip), %rsi     # 0x103513
leaq 0x8(%rsp), %rdi
callq 0x58c40
leaq 0x46560(%rip), %rsi     # 0x103539
leaq 0x50(%rsp), %rdi
callq 0x58c40
leaq 0x20(%rsp), %rdi
leaq 0x8(%rsp), %rsi
leaq 0x50(%rsp), %rdx
callq 0xb7342
leaq 0x20(%rsp), %rdi
callq 0x589f0
movsd %xmm0, 0x68(%rsp)
leaq 0x20(%rsp), %rdi
callq 0x5a588
leaq 0x50(%rsp), %rdi
callq 0x5a588
leaq 0x8(%rsp), %rdi
callq 0x5a588
leaq 0x38(%rsp), %rdi
xorl %esi, %esi
callq 0x57d40
testb %al, %al
je 0xbd13b
leaq 0x5b450(%rip), %rsi     # 0x118490
leaq 0x8(%rsp), %rdi
callq 0x58c40
leaq 0x38(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x59d50
decl %eax
leaq 0x20(%rsp), %rdi
leaq 0x38(%rsp), %rsi
pushq $0x1
popq %rdx
movl %eax, %ecx
callq 0x5a2c0
movq 0xa4d42(%rip), %rdi     # 0x161db8
leaq 0x20(%rsp), %rsi
callq 0x56630
leaq 0x20(%rsp), %rdi
callq 0x5a588
leaq 0x8(%rsp), %rdi
callq 0x5a588
leaq 0x5b3f5(%rip), %rsi     # 0x118490
leaq 0x8(%rsp), %rdi
callq 0x58c40
leaq 0x38(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x59d50
movl %eax, %ebx
leaq 0x38(%rsp), %rdi
callq 0x58370
movl %eax, %ebp
leaq 0x5b3c7(%rip), %rsi     # 0x118490
leaq 0x50(%rsp), %rdi
callq 0x58c40
leaq 0x38(%rsp), %rdi
leaq 0x50(%rsp), %rsi
callq 0x59d50
incl %ebx
subl %eax, %ebp
addl $-0x2, %ebp
leaq 0x20(%rsp), %rdi
leaq 0x38(%rsp), %rsi
movl %ebx, %edx
movl %ebp, %ecx
callq 0x5a2c0
leaq 0x20(%rsp), %rdi
callq 0x589f0
movq 0xa4d8b(%rip), %rax     # 0x161e98
movswl (%rax), %eax
cvtsi2sd %eax, %xmm1
divsd %xmm1, %xmm0
movsd %xmm0, (%r14)
leaq 0x20(%rsp), %rdi
callq 0x5a588
leaq 0x50(%rsp), %rdi
callq 0x5a588
leaq 0x8(%rsp), %rdi
callq 0x5a588
xorpd %xmm0, %xmm0
movsd 0x68(%rsp), %xmm1
ucomisd %xmm0, %xmm1
jne 0xbd14d
jnp 0xbd15b
movapd %xmm1, %xmm0
mulsd (%r14), %xmm0
movsd %xmm0, (%r14)
leaq 0x38(%rsp), %rdi
callq 0x5a588
xorl %eax, %eax
addq $0x70, %rsp
popq %rbx
popq %r14
popq %rbp
retq
jmp 0xbd18a
jmp 0xbd1a8
jmp 0xbd1b7
movq %rax, %rbx
leaq 0x20(%rsp), %rdi
jmp 0xbd1a1
jmp 0xbd1b7
jmp 0xbd199
jmp 0xbd1a8
jmp 0xbd1a8
jmp 0xbd1b7
movq %rax, %rbx
leaq 0x20(%rsp), %rdi
callq 0x5a588
jmp 0xbd19c
movq %rax, %rbx
leaq 0x50(%rsp), %rdi
callq 0x5a588
jmp 0xbd1ab
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x5a588
jmp 0xbd1ba
movq %rax, %rbx
leaq 0x38(%rsp), %rdi
callq 0x5a588
movq %rbx, %rdi
callq 0x58260
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x5a588
jmp 0xbd1de
movq %rax, %rbx
leaq 0x20(%rsp), %rdi
jmp 0xbd1bf
nop