// File: /workspace/github_c_makefile_star2_O1/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 0xa8bb5(%rip), %rdi     # 0x16cdb8
leaq 0x50213(%rip), %rsi     # 0x11441d
callq 0x55f40
movq 0xa8602(%rip), %r14     # 0x16c818
movabsq $0x3ff0000000000000, %rax # imm = 0x3FF0000000000000
movq %rax, (%r14)
leaq 0x501fd(%rip), %rsi     # 0x114427
leaq 0x20(%rsp), %rdi
callq 0x579f0
leaq 0x50208(%rip), %rsi     # 0x114443
leaq 0x8(%rsp), %rdi
callq 0x579f0
leaq 0x38(%rsp), %rdi
leaq 0x20(%rsp), %rsi
leaq 0x8(%rsp), %rdx
callq 0xbe15a
leaq 0x8(%rsp), %rdi
callq 0x59200
leaq 0x20(%rsp), %rdi
callq 0x59200
leaq 0x501b3(%rip), %rsi     # 0x114427
leaq 0x8(%rsp), %rdi
callq 0x579f0
leaq 0x501c8(%rip), %rsi     # 0x11444d
leaq 0x50(%rsp), %rdi
callq 0x579f0
leaq 0x20(%rsp), %rdi
leaq 0x8(%rsp), %rsi
leaq 0x50(%rsp), %rdx
callq 0xbe15a
leaq 0x20(%rsp), %rdi
callq 0x577b0
movsd %xmm0, 0x68(%rsp)
leaq 0x20(%rsp), %rdi
callq 0x59200
leaq 0x50(%rsp), %rdi
callq 0x59200
leaq 0x8(%rsp), %rdi
callq 0x59200
leaq 0x38(%rsp), %rdi
xorl %esi, %esi
callq 0x56bd0
testb %al, %al
je 0xc43e9
leaq 0x65104(%rip), %rsi     # 0x1293f0
leaq 0x8(%rsp), %rdi
callq 0x579f0
leaq 0x38(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x58a10
decl %eax
leaq 0x20(%rsp), %rdi
leaq 0x38(%rsp), %rsi
movl $0x1, %edx
movl %eax, %ecx
callq 0x58f50
movq 0xa8a94(%rip), %rdi     # 0x16cdb8
leaq 0x20(%rsp), %rsi
callq 0x555f0
leaq 0x20(%rsp), %rdi
callq 0x59200
leaq 0x8(%rsp), %rdi
callq 0x59200
leaq 0x650a7(%rip), %rsi     # 0x1293f0
leaq 0x8(%rsp), %rdi
callq 0x579f0
leaq 0x38(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x58a10
movl %eax, %ebx
leaq 0x38(%rsp), %rdi
callq 0x57180
movl %eax, %ebp
leaq 0x65079(%rip), %rsi     # 0x1293f0
leaq 0x50(%rsp), %rdi
callq 0x579f0
leaq 0x38(%rsp), %rdi
leaq 0x50(%rsp), %rsi
callq 0x58a10
incl %ebx
subl %eax, %ebp
addl $-0x2, %ebp
leaq 0x20(%rsp), %rdi
leaq 0x38(%rsp), %rsi
movl %ebx, %edx
movl %ebp, %ecx
callq 0x58f50
leaq 0x20(%rsp), %rdi
callq 0x577b0
movq 0xa8add(%rip), %rax     # 0x16ce98
movswl (%rax), %eax
cvtsi2sd %eax, %xmm1
divsd %xmm1, %xmm0
movsd %xmm0, (%r14)
leaq 0x20(%rsp), %rdi
callq 0x59200
leaq 0x50(%rsp), %rdi
callq 0x59200
leaq 0x8(%rsp), %rdi
callq 0x59200
xorpd %xmm0, %xmm0
movsd 0x68(%rsp), %xmm1
ucomisd %xmm0, %xmm1
jne 0xc43fb
jnp 0xc4409
movapd %xmm1, %xmm0
mulsd (%r14), %xmm0
movsd %xmm0, (%r14)
leaq 0x38(%rsp), %rdi
callq 0x59200
xorl %eax, %eax
addq $0x70, %rsp
popq %rbx
popq %r14
popq %rbp
retq
jmp 0xc4438
jmp 0xc4456
jmp 0xc4465
movq %rax, %rbx
leaq 0x20(%rsp), %rdi
jmp 0xc444f
jmp 0xc4465
jmp 0xc4447
jmp 0xc4456
jmp 0xc4456
jmp 0xc4465
movq %rax, %rbx
leaq 0x20(%rsp), %rdi
callq 0x59200
jmp 0xc444a
movq %rax, %rbx
leaq 0x50(%rsp), %rdi
callq 0x59200
jmp 0xc4459
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x59200
jmp 0xc4468
movq %rax, %rbx
leaq 0x38(%rsp), %rdi
callq 0x59200
movq %rbx, %rdi
callq 0x57090
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x59200
jmp 0xc448c
movq %rax, %rbx
leaq 0x20(%rsp), %rdi
jmp 0xc446d
nop