// File: /workspace/github_c_makefile_star2_O0/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
movq %rsp, %rbp
subq $0x160, %rsp            # imm = 0x160
movq 0xdf1d6(%rip), %rdi     # 0x208da8
leaq 0x7d199(%rip), %rsi     # 0x1a6d72
callq 0x5a230
movq 0xdec0b(%rip), %rax     # 0x2087f0
movabsq $0x3ff0000000000000, %rcx # imm = 0x3FF0000000000000
movq %rcx, (%rax)
leaq 0x7d183(%rip), %rsi     # 0x1a6d7c
leaq -0x30(%rbp), %rdi
callq 0x5c1f0
leaq 0x7d18f(%rip), %rsi     # 0x1a6d98
leaq -0x48(%rbp), %rdi
callq 0x5c1f0
jmp 0x129c14
leaq -0x18(%rbp), %rdi
leaq -0x30(%rbp), %rsi
leaq -0x48(%rbp), %rdx
callq 0x11f340
jmp 0x129c27
leaq -0x48(%rbp), %rdi
callq 0x5df00
leaq -0x30(%rbp), %rdi
callq 0x5df00
leaq 0x7d13c(%rip), %rsi     # 0x1a6d7c
leaq -0x90(%rbp), %rdi
callq 0x5c1f0
jmp 0x129c4e
leaq 0x7d14d(%rip), %rsi     # 0x1a6da2
leaq -0xa8(%rbp), %rdi
callq 0x5c1f0
jmp 0x129c63
leaq -0x78(%rbp), %rdi
leaq -0x90(%rbp), %rsi
leaq -0xa8(%rbp), %rdx
callq 0x11f340
jmp 0x129c7c
leaq -0x78(%rbp), %rdi
callq 0x5bf40
movsd %xmm0, -0x138(%rbp)
jmp 0x129c8f
leaq -0x78(%rbp), %rdi
callq 0x5df00
leaq -0xa8(%rbp), %rdi
callq 0x5df00
leaq -0x90(%rbp), %rdi
callq 0x5df00
movsd -0x138(%rbp), %xmm0
movsd %xmm0, -0x60(%rbp)
leaq -0x18(%rbp), %rdi
xorl %esi, %esi
callq 0x5b110
movb %al, -0x139(%rbp)
jmp 0x129cd0
movb -0x139(%rbp), %al
testb $0x1, %al
jne 0x129cdf
jmp 0x129f76
leaq 0x9229a(%rip), %rsi     # 0x1bbf80
leaq -0xd8(%rbp), %rdi
callq 0x5c1f0
jmp 0x129cf4
leaq -0x18(%rbp), %rdi
leaq -0xd8(%rbp), %rsi
callq 0x5d590
movl %eax, -0x140(%rbp)
jmp 0x129d0c
movl -0x140(%rbp), %ecx
decl %ecx
leaq -0xc0(%rbp), %rdi
leaq -0x18(%rbp), %rsi
movl $0x1, %edx
callq 0x5dc20
jmp 0x129d2b
movq 0xdf076(%rip), %rdi     # 0x208da8
leaq -0xc0(%rbp), %rsi
callq 0x59760
jmp 0x129d40
leaq -0xc0(%rbp), %rdi
callq 0x5df00
leaq -0xd8(%rbp), %rdi
callq 0x5df00
leaq 0x92221(%rip), %rsi     # 0x1bbf80
leaq -0x108(%rbp), %rdi
callq 0x5c1f0
jmp 0x129d6d
leaq -0x18(%rbp), %rdi
leaq -0x108(%rbp), %rsi
callq 0x5d590
movl %eax, -0x144(%rbp)
jmp 0x129d85
movl -0x144(%rbp), %eax
incl %eax
movl %eax, -0x14c(%rbp)
leaq -0x18(%rbp), %rdi
callq 0x5b800
movl %eax, -0x148(%rbp)
jmp 0x129da4
leaq 0x921d5(%rip), %rsi     # 0x1bbf80
leaq -0x120(%rbp), %rdi
callq 0x5c1f0
jmp 0x129db9
leaq -0x18(%rbp), %rdi
leaq -0x120(%rbp), %rsi
callq 0x5d590
movl %eax, -0x150(%rbp)
jmp 0x129dd1
movl -0x14c(%rbp), %edx
movl -0x150(%rbp), %eax
movl -0x148(%rbp), %ecx
subl %eax, %ecx
addl $-0x2, %ecx
leaq -0xf0(%rbp), %rdi
leaq -0x18(%rbp), %rsi
callq 0x5dc20
jmp 0x129dfa
leaq -0xf0(%rbp), %rdi
callq 0x5bf40
movsd %xmm0, -0x158(%rbp)
jmp 0x129e10
movsd -0x158(%rbp), %xmm0
movq 0xdf071(%rip), %rax     # 0x208e90
movswl (%rax), %eax
cvtsi2sd %eax, %xmm1
divsd %xmm1, %xmm0
movq 0xde9bf(%rip), %rax     # 0x2087f0
movsd %xmm0, (%rax)
leaq -0xf0(%rbp), %rdi
callq 0x5df00
leaq -0x120(%rbp), %rdi
callq 0x5df00
leaq -0x108(%rbp), %rdi
callq 0x5df00
jmp 0x129f76
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x129e81
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0x48(%rbp), %rdi
callq 0x5df00
leaq -0x30(%rbp), %rdi
callq 0x5df00
jmp 0x12a00a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x12a001
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x129edd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x129ed1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0x78(%rbp), %rdi
callq 0x5df00
leaq -0xa8(%rbp), %rdi
callq 0x5df00
leaq -0x90(%rbp), %rdi
callq 0x5df00
jmp 0x12a001
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x129f14
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0xc0(%rbp), %rdi
callq 0x5df00
leaq -0xd8(%rbp), %rdi
callq 0x5df00
jmp 0x12a001
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x129f65
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x129f59
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0xf0(%rbp), %rdi
callq 0x5df00
leaq -0x120(%rbp), %rdi
callq 0x5df00
leaq -0x108(%rbp), %rdi
callq 0x5df00
jmp 0x12a001
movsd -0x60(%rbp), %xmm0
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jne 0x129f88
jp 0x129f88
jmp 0x129fa3
movsd -0x60(%rbp), %xmm0
movq 0xde85c(%rip), %rax     # 0x2087f0
mulsd (%rax), %xmm0
movq 0xde851(%rip), %rax     # 0x2087f0
movsd %xmm0, (%rax)
leaq -0x130(%rbp), %rdi
callq 0x5ca80
jmp 0x129fb1
leaq -0x130(%rbp), %rdi
callq 0x59680
movl %eax, -0x15c(%rbp)
jmp 0x129fc5
leaq -0x130(%rbp), %rdi
callq 0x5a410
leaq -0x18(%rbp), %rdi
callq 0x5df00
movl -0x15c(%rbp), %eax
addq $0x160, %rsp            # imm = 0x160
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0x130(%rbp), %rdi
callq 0x5a410
leaq -0x18(%rbp), %rdi
callq 0x5df00
movq -0x50(%rbp), %rdi
callq 0x5b6b0
nopw %cs:(%rax,%rax)