// File: /workspace/github_c_makefile_star2_O3/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 0xa8d31(%rip), %rdi     # 0x16bdb8
leaq 0x5059b(%rip), %rsi     # 0x113629
callq 0x55f40
movq 0xa877e(%rip), %r14     # 0x16b818
movabsq $0x3ff0000000000000, %rax # imm = 0x3FF0000000000000
movq %rax, (%r14)
leaq 0x50585(%rip), %rsi     # 0x113633
leaq 0x20(%rsp), %rdi
callq 0x579f0
leaq 0x50590(%rip), %rsi     # 0x11364f
leaq 0x8(%rsp), %rdi
callq 0x579f0
leaq 0x38(%rsp), %rdi
leaq 0x20(%rsp), %rsi
leaq 0x8(%rsp), %rdx
callq 0xbd1d2
leaq 0x8(%rsp), %rdi
callq 0x59200
leaq 0x20(%rsp), %rdi
callq 0x59200
leaq 0x5053b(%rip), %rsi     # 0x113633
leaq 0x8(%rsp), %rdi
callq 0x579f0
leaq 0x50550(%rip), %rsi     # 0x113659
leaq 0x50(%rsp), %rdi
callq 0x579f0
leaq 0x20(%rsp), %rdi
leaq 0x8(%rsp), %rsi
leaq 0x50(%rsp), %rdx
callq 0xbd1d2
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 0xc326d
leaq 0x654a0(%rip), %rsi     # 0x128610
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 0xa8c10(%rip), %rdi     # 0x16bdb8
leaq 0x20(%rsp), %rsi
callq 0x555f0
leaq 0x20(%rsp), %rdi
callq 0x59200
leaq 0x8(%rsp), %rdi
callq 0x59200
leaq 0x65443(%rip), %rsi     # 0x128610
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 0x65415(%rip), %rsi     # 0x128610
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 0xa8c59(%rip), %rax     # 0x16be98
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 0xc327f
jnp 0xc328d
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 0xc32bc
jmp 0xc32da
jmp 0xc32e9
movq %rax, %rbx
leaq 0x20(%rsp), %rdi
jmp 0xc32d3
jmp 0xc32e9
jmp 0xc32cb
jmp 0xc32da
jmp 0xc32da
jmp 0xc32e9
movq %rax, %rbx
leaq 0x20(%rsp), %rdi
callq 0x59200
jmp 0xc32ce
movq %rax, %rbx
leaq 0x50(%rsp), %rdi
callq 0x59200
jmp 0xc32dd
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x59200
jmp 0xc32ec
movq %rax, %rbx
leaq 0x38(%rsp), %rdi
callq 0x59200
movq %rbx, %rdi
callq 0x57090
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x59200
jmp 0xc3310
movq %rax, %rbx
leaq 0x20(%rsp), %rdi
jmp 0xc32f1
nop