Implement CreateLightRGB() (#159)

This commit is contained in:
Anders Jenbo 2025-05-25 02:40:37 +02:00 committed by GitHub
parent 8782fdb62e
commit e3cbbee000
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 7 additions and 2 deletions

View File

@ -3,6 +3,7 @@
#include "miniwin_d3drmobject_p.h"
struct Direct3DRMLightImpl : public Direct3DRMObjectBase<IDirect3DRMLight> {
Direct3DRMLightImpl(float r, float g, float b);
HRESULT SetColorRGB(float r, float g, float b) override;
private:

View File

@ -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<IDirect3DRMLight*>(new Direct3DRMLightImpl);
*outLight = static_cast<IDirect3DRMLight*>(new Direct3DRMLightImpl(r, g, b));
return DD_OK;
}
HRESULT CreateFrame(IDirect3DRMFrame* parent, IDirect3DRMFrame2** outFrame) override

View File

@ -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<BYTE>(r * 255.0f) << 16) | (static_cast<BYTE>(g * 255.0f) << 8) |