diff options
-rw-r--r-- | GdiRadarLib/GdiRadar.cpp | 13 | ||||
-rw-r--r-- | GdiRadarLib/GdiRadar.h | 2 | ||||
-rw-r--r-- | GdiRadarTest/GdiRadarMain.cpp | 2 |
3 files changed, 12 insertions, 5 deletions
diff --git a/GdiRadarLib/GdiRadar.cpp b/GdiRadarLib/GdiRadar.cpp index 136b5f1..987df4f 100644 --- a/GdiRadarLib/GdiRadar.cpp +++ b/GdiRadarLib/GdiRadar.cpp @@ -17,7 +17,7 @@ struct gdi_radar_drawing { - HBRUSH EnemyBrush; + HBRUSH BlackBrush, RedBrush; HPEN DefaultPen; COLORREF TextCOLOR; RECT DC_Dimensions; @@ -59,8 +59,11 @@ static void draw_entity(struct gdi_radar_context * const ctx, struct entity * co #endif switch (ent->color) { + case EC_BLACK: + SelectObject(ctx->drawing.hdc, ctx->drawing.BlackBrush); + break; case EC_RED: - SelectObject(ctx->drawing.hdc, ctx->drawing.EnemyBrush); + SelectObject(ctx->drawing.hdc, ctx->drawing.RedBrush); break; } @@ -117,14 +120,16 @@ static LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wparam, LPARAM l case WM_CREATE: DBG("%s\n", "WM_CREATE"); drawing->hdc = GetDC(hwnd); - drawing->EnemyBrush = CreateSolidBrush(RGB(255, 0, 0)); + drawing->BlackBrush = CreateSolidBrush(RGB(0, 0, 0)); + drawing->RedBrush = CreateSolidBrush(RGB(255, 0, 0)); drawing->DefaultPen = CreatePen(PS_SOLID, 1, RGB(255, 255, 0)); drawing->TextCOLOR = RGB(0, 255, 0); SetBkMode(drawing->hdc, TRANSPARENT); return 0; case WM_DESTROY: DBG("%s\n", "WM_DESTROY"); - DeleteObject(drawing->EnemyBrush); + DeleteObject(drawing->BlackBrush); + DeleteObject(drawing->RedBrush); DeleteObject(drawing->DefaultPen); DeleteDC(drawing->hdc); PostQuitMessage(0); diff --git a/GdiRadarLib/GdiRadar.h b/GdiRadarLib/GdiRadar.h index da5258e..5ccf9ed 100644 --- a/GdiRadarLib/GdiRadar.h +++ b/GdiRadarLib/GdiRadar.h @@ -27,7 +27,7 @@ bool gdi_radar_init(struct gdi_radar_context * const ctx); enum entity_color { - EC_RED + EC_BLACK, EC_RED }; struct entity { diff --git a/GdiRadarTest/GdiRadarMain.cpp b/GdiRadarTest/GdiRadarMain.cpp index 7b81b51..1120815 100644 --- a/GdiRadarTest/GdiRadarMain.cpp +++ b/GdiRadarTest/GdiRadarMain.cpp @@ -40,6 +40,8 @@ int main() gdi_radar_add_entity(ctx, &e3); entity e4{ 50, 800, 10, entity_color::EC_RED, "lowlife" }; gdi_radar_add_entity(ctx, &e4); + entity e5{ 250, 100, 0, entity_color::EC_BLACK, "dead" }; + gdi_radar_add_entity(ctx, &e5); #if 0 gdi_radar_process_window_events_blocking(ctx); |