#pragma once

#include <efi.h>
#include <graphics/context.h>

void global_draw_pixel(SUINT32 x, SUINT32 y, EFI_GRAPHICS_OUTPUT_BLT_PIXEL color);
void global_draw_rect(SUINT32 bx, SUINT32 by, SUINT32 ex, SUINT32 ey,
    EFI_GRAPHICS_OUTPUT_BLT_PIXEL color);

void draw_pixel(SUINT32 x, SUINT32 y, EFI_GRAPHICS_OUTPUT_BLT_PIXEL color);
void draw_rect(SUINT32 bx, SUINT32 by, SUINT32 ex, SUINT32 ey,
    EFI_GRAPHICS_OUTPUT_BLT_PIXEL color);

// Alpha blend (alpha 0..255). dest = src*alpha/255 + dest*(255-alpha)/255.
void draw_pixel_alpha(SUINT32 x, SUINT32 y, EFI_GRAPHICS_OUTPUT_BLT_PIXEL color, SUINT8 alpha);
