From e3cbbee000de39f843e9352105a0373be07f5265 Mon Sep 17 00:00:00 2001 From: Anders Jenbo Date: Sun, 25 May 2025 02:40:37 +0200 Subject: [PATCH] Implement CreateLightRGB() (#159) --- miniwin/miniwin/src/include/miniwin_d3drmlight_p.h | 1 + miniwin/miniwin/src/miniwin_d3drm.cpp | 3 +-- miniwin/miniwin/src/miniwin_d3drmlight.cpp | 5 +++++ 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/miniwin/miniwin/src/include/miniwin_d3drmlight_p.h b/miniwin/miniwin/src/include/miniwin_d3drmlight_p.h index 7ed00d5b..5be46945 100644 --- a/miniwin/miniwin/src/include/miniwin_d3drmlight_p.h +++ b/miniwin/miniwin/src/include/miniwin_d3drmlight_p.h @@ -3,6 +3,7 @@ #include "miniwin_d3drmobject_p.h" struct Direct3DRMLightImpl : public Direct3DRMObjectBase { + Direct3DRMLightImpl(float r, float g, float b); HRESULT SetColorRGB(float r, float g, float b) override; private: diff --git a/miniwin/miniwin/src/miniwin_d3drm.cpp b/miniwin/miniwin/src/miniwin_d3drm.cpp index 3bf3ac9d..af1330e2 100644 --- a/miniwin/miniwin/src/miniwin_d3drm.cpp +++ b/miniwin/miniwin/src/miniwin_d3drm.cpp @@ -236,8 +236,7 @@ struct Direct3DRMImpl : virtual public IDirect3DRM2 { } HRESULT CreateLightRGB(D3DRMLIGHTTYPE type, D3DVAL r, D3DVAL g, D3DVAL b, IDirect3DRMLight** outLight) override { - MINIWIN_NOT_IMPLEMENTED(); - *outLight = static_cast(new Direct3DRMLightImpl); + *outLight = static_cast(new Direct3DRMLightImpl(r, g, b)); return DD_OK; } HRESULT CreateFrame(IDirect3DRMFrame* parent, IDirect3DRMFrame2** outFrame) override diff --git a/miniwin/miniwin/src/miniwin_d3drmlight.cpp b/miniwin/miniwin/src/miniwin_d3drmlight.cpp index b764dd59..932351bd 100644 --- a/miniwin/miniwin/src/miniwin_d3drmlight.cpp +++ b/miniwin/miniwin/src/miniwin_d3drmlight.cpp @@ -1,6 +1,11 @@ #include "miniwin_d3drmlight_p.h" #include "miniwin_p.h" +Direct3DRMLightImpl::Direct3DRMLightImpl(float r, float g, float b) +{ + SetColorRGB(r, g, b); +} + HRESULT Direct3DRMLightImpl::SetColorRGB(float r, float g, float b) { m_color = (0xFF << 24) | (static_cast(r * 255.0f) << 16) | (static_cast(g * 255.0f) << 8) |