mirror of
https://github.com/isledecomp/isle-portable.git
synced 2026-01-19 05:41:17 +00:00
Implement Direct3DRMPickedArray constructor (#181)
This commit is contained in:
parent
e1cddc5c0e
commit
4e3cf45aba
@ -252,11 +252,7 @@ struct IDirect3DRMFrameArray : public IDirect3DRMArray {
|
|||||||
struct IDirect3DRMFrame2 : public IDirect3DRMFrame {};
|
struct IDirect3DRMFrame2 : public IDirect3DRMFrame {};
|
||||||
typedef IDirect3DRMFrame2* LPDIRECT3DRMFRAME2;
|
typedef IDirect3DRMFrame2* LPDIRECT3DRMFRAME2;
|
||||||
|
|
||||||
struct D3DRMPICKDESC {
|
struct D3DRMPICKDESC {};
|
||||||
IDirect3DRMVisual* visual;
|
|
||||||
IDirect3DRMFrame* frame;
|
|
||||||
float dist;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct IDirect3DRMPickedArray : public IDirect3DRMArray {
|
struct IDirect3DRMPickedArray : public IDirect3DRMArray {
|
||||||
virtual HRESULT GetPick(
|
virtual HRESULT GetPick(
|
||||||
|
|||||||
@ -21,6 +21,20 @@ struct PickRecord {
|
|||||||
};
|
};
|
||||||
|
|
||||||
struct Direct3DRMPickedArray_SDL3GPUImpl : public IDirect3DRMPickedArray {
|
struct Direct3DRMPickedArray_SDL3GPUImpl : public IDirect3DRMPickedArray {
|
||||||
|
Direct3DRMPickedArray_SDL3GPUImpl(const PickRecord* inputPicks, size_t count)
|
||||||
|
{
|
||||||
|
picks.reserve(count);
|
||||||
|
for (size_t i = 0; i < count; ++i) {
|
||||||
|
const PickRecord& pick = inputPicks[i];
|
||||||
|
if (pick.visual) {
|
||||||
|
pick.visual->AddRef();
|
||||||
|
}
|
||||||
|
if (pick.frameArray) {
|
||||||
|
pick.frameArray->AddRef();
|
||||||
|
}
|
||||||
|
picks.push_back(pick);
|
||||||
|
}
|
||||||
|
}
|
||||||
~Direct3DRMPickedArray_SDL3GPUImpl() override
|
~Direct3DRMPickedArray_SDL3GPUImpl() override
|
||||||
{
|
{
|
||||||
for (PickRecord& pick : picks) {
|
for (PickRecord& pick : picks) {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user