// File: EstherJin[P]TetrisRemake/graphicsDisplay.cc
// Function: GraphicsDisplay::GraphicsDisplay()
GraphicsDisplay::GraphicsDisplay ()  {

    window = make_unique<Xwindow> ();

    window->fillRectangle(0,0,405,780,0);
    window->fillRectangle(0,50,405,642,9);
    window->fillRectangle(15,65,375,612,0);
    for (int i = 1; i < row; i++) {
        window->fillRectangle(xmar,ymar+i*34,375,1,10);
    }
    for (int j = 1; j < col; j++) {
        window->fillRectangle(xmar+j*34,ymar,1,612,10);
    }
    // window->fillRectangle(0, 0, 100, 100, 4);

    string nt = "Next:";
    window->drawString (15, 700, nt);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xa0, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
movq %rdi, -0x80(%rbp)
callq 0x13fb0
movq -0x80(%rbp), %rdi
leaq 0x16c49(%rip), %rax     # 0x41d40
movq %rax, (%rdi)
movl $0x22, 0x8(%rdi)
movl $0x12, 0xc(%rdi)
movl $0xb, 0x10(%rdi)
movl $0xf, 0x14(%rdi)
movl $0x41, 0x18(%rdi)
addq $0x20, %rdi
movq %rdi, -0x78(%rbp)
callq 0x2c0e0
leaq -0x10(%rbp), %rdi
callq 0x2c110
jmp 0x2b135
movq -0x80(%rbp), %rdi
addq $0x20, %rdi
movq %rdi, -0x88(%rbp)
leaq -0x10(%rbp), %rsi
movq %rsi, -0x90(%rbp)
callq 0x2c190
movq -0x90(%rbp), %rdi
callq 0xbfc0
movq -0x88(%rbp), %rdi
callq 0x2c1c0
movq %rax, %rdi
movl $0x195, %ecx            # imm = 0x195
movl $0x30c, %r8d            # imm = 0x30C
xorl %r9d, %r9d
movl %r9d, %esi
movl %r9d, %edx
callq 0x2c990
jmp 0x2b18a
movq -0x80(%rbp), %rdi
addq $0x20, %rdi
callq 0x2c1c0
movq %rax, %rdi
xorl %esi, %esi
movl $0x32, %edx
movl $0x195, %ecx            # imm = 0x195
movl $0x282, %r8d            # imm = 0x282
movl $0x9, %r9d
callq 0x2c990
jmp 0x2b1b9
movq -0x80(%rbp), %rdi
addq $0x20, %rdi
callq 0x2c1c0
movq %rax, %rdi
movl $0xf, %esi
movl $0x41, %edx
movl $0x177, %ecx            # imm = 0x177
movl $0x264, %r8d            # imm = 0x264
xorl %r9d, %r9d
callq 0x2c990
jmp 0x2b1e8
movl $0x1, -0x20(%rbp)
movq -0x80(%rbp), %rcx
movl -0x20(%rbp), %eax
cmpl 0xc(%rcx), %eax
jge 0x2b25e
movq -0x80(%rbp), %rdi
addq $0x20, %rdi
callq 0x2c1c0
movq %rax, %rdi
movq -0x80(%rbp), %rax
movl 0x14(%rax), %esi
movl 0x18(%rax), %edx
movl -0x20(%rbp), %r8d
movl %r8d, %ecx
shll $0x5, %r8d
movl %r8d, %eax
leal (%rax,%rcx,2), %eax
addl %eax, %edx
movl $0x177, %ecx            # imm = 0x177
movl $0x1, %r8d
movl $0xa, %r9d
callq 0x2c990
jmp 0x2b240
jmp 0x2b242
movl -0x20(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x20(%rbp)
jmp 0x2b1ef
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0x2b38e
movl $0x1, -0x24(%rbp)
movq -0x80(%rbp), %rcx
movl -0x24(%rbp), %eax
cmpl 0x10(%rcx), %eax
jge 0x2b2bf
movq -0x80(%rbp), %rdi
addq $0x20, %rdi
callq 0x2c1c0
movq -0x80(%rbp), %rcx
movq %rax, %rdi
movl -0x24(%rbp), %esi
movl %esi, %edx
shll $0x5, %esi
movl %esi, %eax
leal (%rax,%rdx,2), %eax
movl 0x14(%rcx), %esi
movl 0x18(%rcx), %edx
addl %eax, %esi
movl $0x1, %ecx
movl $0x264, %r8d            # imm = 0x264
movl $0xa, %r9d
callq 0x2c990
jmp 0x2b2b2
jmp 0x2b2b4
movl -0x24(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x24(%rbp)
jmp 0x2b265
leaq -0x49(%rbp), %rdi
movq %rdi, -0x98(%rbp)
callq 0x65d0
movq -0x98(%rbp), %rdx
leaq 0x253d(%rip), %rsi      # 0x2d81a
leaq -0x48(%rbp), %rdi
callq 0x73b0
jmp 0x2b2e8
leaq -0x49(%rbp), %rdi
callq 0x63e0
movq -0x80(%rbp), %rdi
addq $0x20, %rdi
callq 0x2c1c0
movq %rax, -0xa0(%rbp)
leaq -0x70(%rbp), %rdi
leaq -0x48(%rbp), %rsi
callq 0x6150
jmp 0x2b314
movq -0xa0(%rbp), %rdi
movl $0xf, %esi
movl $0x2bc, %edx            # imm = 0x2BC
leaq -0x70(%rbp), %rcx
callq 0x2ca10
jmp 0x2b330
leaq -0x70(%rbp), %rdi
callq 0x6230
leaq -0x48(%rbp), %rdi
callq 0x6230
addq $0xa0, %rsp
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
leaq -0x49(%rbp), %rdi
callq 0x63e0
jmp 0x2b38e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0x2b385
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
leaq -0x70(%rbp), %rdi
callq 0x6230
leaq -0x48(%rbp), %rdi
callq 0x6230
movq -0x78(%rbp), %rdi
callq 0xbfc0
movq -0x80(%rbp), %rdi
callq 0xff30
movq -0x18(%rbp), %rdi
callq 0x65c0
nopl (%rax)