|
|
//+-------------------------------------------------------------------------
//
// Microsoft Windows
//
// Copyright (C) Microsoft Corporation, 1998 - 1999
//
// File: d3drmlightobj.cpp
//
//--------------------------------------------------------------------------
// d3drmLightObj.cpp : Implementation of CDirectApp and DLL registration.
#include "stdafx.h"
#include "Direct.h"
#include "dms.h"
#include "d3drmFrame3Obj.h"
#include "d3drmLightObj.h"
CONSTRUCTOR(_dxj_Direct3dRMLight, {}); DESTRUCTOR(_dxj_Direct3dRMLight, {}); GETSET_OBJECT(_dxj_Direct3dRMLight);
CLONE_R(_dxj_Direct3dRMLight,Direct3DRMLight); GETNAME_R(_dxj_Direct3dRMLight); SETNAME_R(_dxj_Direct3dRMLight); GETCLASSNAME_R(_dxj_Direct3dRMLight);
ADDDESTROYCALLBACK_R(_dxj_Direct3dRMLight); DELETEDESTROYCALLBACK_R(_dxj_Direct3dRMLight);
GET_DIRECT_R(_dxj_Direct3dRMLight, getAppData, GetAppData, long); GET_DIRECT_R(_dxj_Direct3dRMLight, getColor, GetColor, d3dcolor); GET_DIRECT_R(_dxj_Direct3dRMLight, getRange, GetRange, d3dvalue); GET_DIRECT_R(_dxj_Direct3dRMLight, getUmbra, GetUmbra, d3dvalue); GET_DIRECT_R(_dxj_Direct3dRMLight, getPenumbra, GetPenumbra, d3dvalue); GET_DIRECT_R(_dxj_Direct3dRMLight, getConstantAttenuation, GetConstantAttenuation, d3dvalue); GET_DIRECT_R(_dxj_Direct3dRMLight, getLinearAttenuation, GetLinearAttenuation, d3dvalue); GET_DIRECT_R(_dxj_Direct3dRMLight, getQuadraticAttenuation, GetQuadraticAttenuation, d3dvalue); GET_DIRECT_R(_dxj_Direct3dRMLight, getType, GetType, d3drmLightType);
PASS_THROUGH_CAST_1_R(_dxj_Direct3dRMLight, setAppData, SetAppData, long,(DWORD)); PASS_THROUGH1_R(_dxj_Direct3dRMLight, setColor, SetColor, d3dcolor); PASS_THROUGH1_R(_dxj_Direct3dRMLight, setRange, SetRange, d3dvalue); PASS_THROUGH1_R(_dxj_Direct3dRMLight, setUmbra, SetUmbra, d3dvalue); PASS_THROUGH1_R(_dxj_Direct3dRMLight, setPenumbra, SetPenumbra, d3dvalue); PASS_THROUGH1_R(_dxj_Direct3dRMLight, setConstantAttenuation, SetConstantAttenuation, d3dvalue); PASS_THROUGH1_R(_dxj_Direct3dRMLight, setLinearAttenuation, SetLinearAttenuation, d3dvalue); PASS_THROUGH1_R(_dxj_Direct3dRMLight, setQuadraticAttenuation, SetQuadraticAttenuation, d3dvalue); PASS_THROUGH3_R(_dxj_Direct3dRMLight, setColorRGB, SetColorRGB, d3dvalue, d3dvalue, d3dvalue); PASS_THROUGH_CAST_1_R(_dxj_Direct3dRMLight, setType, SetType, d3drmLightType, (enum _D3DRMLIGHTTYPE));
//RETURN_NEW_ITEM_R(_dxj_Direct3dRMLight, getEnableFrame, GetEnableFrame, _dxj_Direct3dRMFrame);
HRESULT C_dxj_Direct3dRMLightObject::getEnableFrame(I_dxj_Direct3dRMFrame3 **frame){ HRESULT hr; IDirect3DRMFrame *realframe1=NULL; IDirect3DRMFrame3 *realframe=NULL; hr=m__dxj_Direct3dRMLight->GetEnableFrame(&realframe1); *frame=NULL; if FAILED(hr) return hr;
if (realframe1){ hr=realframe1->QueryInterface(IID_IDirect3DRMFrame3,(void**)&realframe); if FAILED(hr) return hr; INTERNAL_CREATE(_dxj_Direct3dRMFrame3,(IDirect3DRMFrame3*)realframe,frame); } return S_OK;
}
HRESULT C_dxj_Direct3dRMLightObject::setEnableFrame(I_dxj_Direct3dRMFrame3 *frame){ HRESULT hr; IDirect3DRMFrame3 *realframe=NULL; IDirect3DRMFrame *realframe1=NULL; if (frame){ frame->InternalGetObject((IUnknown**)&realframe); hr=realframe->QueryInterface(IID_IDirect3DRMFrame,(void**)&realframe1); if FAILED(hr) return hr; } hr=m__dxj_Direct3dRMLight->SetEnableFrame(realframe1);
if (realframe1) realframe1->Release();
return hr; }
|