use32
org 0x0

include 'macros.inc'
include 'struct.inc'
include 'proc32.inc'

include 'libgui.inc'

include 'include/everything.inc'
include 'src/everything.asm'
include 'test/everything.asm'

mem_alloc   dd ?
mem_free    dd ?
mem_realloc dd ?
dll_load    dd ?

        invoke  dll_load, @IMPORT
        or      eax, eax
        jz      .ok
        mcall   -1

  .ok:
        guicall all_tests
        mcall   -1

align 16
@IMPORT:

library \
    libgfx,'libgfx.obj'

import libgfx, \
    gfx_open, 'gfx.open', \
    gfx_close, 'gfx.close', \
    gfx_pen_color, 'gfx.pen.color', \
    gfx_brush_color, 'gfx.brush.color', \
    gfx_pixel, 'gfx.pixel', \
    gfx_move_to, 'gfx.move.to', \
    gfx_line_to, 'gfx.line.to', \
    gfx_line, 'gfx.line', \
    gfx_polyline, 'gfx.polyline', \
    gfx_polyline_to, 'gfx.polyline.to', \
    gfx_fillrect, 'gfx.fillrect', \
    gfx_fillrect_ex, 'gfx.fillrect.ex', \
    gfx_framerect, 'gfx.framerect', \
    gfx_framerect_ex, 'gfx.framerect.ex', \
    gfx_rectangle, 'gfx.rectangle', \
    gfx_rectangle_ex, 'gfx.rectangle.ex', \
    gfx_text, 'gfx.text', \
    gfx_text_width, 'gfx.text.width', \
    gfx_text_height, 'gfx.text.height'
