コード例 #1
0
ファイル: texture.c プロジェクト: mvardan/ros-svn-mirror
HRESULT d3drm_texture_create(struct d3drm_texture **texture, IDirect3DRM *d3drm)
{
    struct d3drm_texture *object;

    TRACE("texture %p.\n", texture);

    if (!(object = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*object))))
        return E_OUTOFMEMORY;

    object->IDirect3DRMTexture_iface.lpVtbl = &d3drm_texture1_vtbl;
    object->IDirect3DRMTexture2_iface.lpVtbl = &d3drm_texture2_vtbl;
    object->IDirect3DRMTexture3_iface.lpVtbl = &d3drm_texture3_vtbl;
    object->d3drm = d3drm;

    d3drm_object_init(&object->obj);

    *texture = object;

    return D3DRM_OK;
}
コード例 #2
0
ファイル: face.c プロジェクト: wine-mirror/wine
HRESULT d3drm_face_create(struct d3drm_face **face)
{
    static const char classname[] = "Face";
    struct d3drm_face *object;

    TRACE("face %p.\n", face);

    if (!(object = heap_alloc_zero(sizeof(*object))))
        return E_OUTOFMEMORY;

    object->IDirect3DRMFace_iface.lpVtbl = &d3drm_face1_vtbl;
    object->IDirect3DRMFace2_iface.lpVtbl = &d3drm_face2_vtbl;
    object->ref = 1;

    d3drm_object_init(&object->obj, classname);

    *face = object;

    return S_OK;
}
コード例 #3
0
ファイル: device.c プロジェクト: reactos/reactos
HRESULT d3drm_device_create(struct d3drm_device **device, IDirect3DRM *d3drm)
{
    struct d3drm_device *object;

    TRACE("device %p, d3drm %p.\n", device, d3drm);

    if (!(object = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*object))))
        return E_OUTOFMEMORY;

    object->IDirect3DRMDevice_iface.lpVtbl = &d3drm_device1_vtbl;
    object->IDirect3DRMDevice2_iface.lpVtbl = &d3drm_device2_vtbl;
    object->IDirect3DRMDevice3_iface.lpVtbl = &d3drm_device3_vtbl;
    object->IDirect3DRMWinDevice_iface.lpVtbl = &d3drm_device_win_vtbl;
    object->d3drm = d3drm;
    d3drm_object_init(&object->obj);

    *device = object;

    return D3DRM_OK;
}