The DejaVU Framework -- hush 3.1

include: hush-src-multi-GamePlayer-CustomUILayer.h /home/ae/media


- [up] [top] - index make include source logic grammar scripts html configure mx slides talks scenes reports projects
<body bgcolor="#FFFFFF" text="#000000">

//------------------------------------------------------------------------------
// File: CustomUILayer.h
//
// Desc: DirectShow sample code - MultiVMR9 GamePlayer
//
// Copyright (c) Microsoft Corporation.  All rights reserved.
//------------------------------------------------------------------------------

#pragma once

static const DWORD m_FVFUILayer = D3DFVF_XYZ | D3DFVF_TEX1;

<blockquote> ****************************Public*Routine******************************\ class CGameUILayer Customized version of IMultiVMR9UILayer \*************************************************************************</blockquote>


<h4 align=right text=red> CGameUILayer</h4><hr>
  class CGameUILayer :
    public CUnknown,
    public IMultiVMR9UILayer
{
public:
    CGameUILayer(LPUNKNOWN pUnk, HRESULT *phr);
    virtual ~CGameUILayer();

    // IUnknown implementation
    DECLARE_IUNKNOWN
    STDMETHODIMP NonDelegatingQueryInterface(REFIID, void**);
    static CUnknown *CreateInstance(LPUNKNOWN, HRESULT *);

    // IMultiVMR9UILayer implementation
    STDMETHOD(Initialize)(
        IDirect3DDevice9* pDevice
        );

    STDMETHOD(ProcessMessage)(
        UINT msg, 
        UINT wParam, 
        LONG lParam
        );

    STDMETHOD(Render)(
        IDirect3DDevice9 *pDevice
        );

        STDMETHOD( BeginDeviceLoss )(
                void
                );

        STDMETHOD( EndDeviceLoss )(
                IDirect3DDevice9* pDevice
                );

    // method is called by the render engine during IMultiVMR9RenderEngine::SetUILayer
    STDMETHOD(SetRenderEngineOwner)(
        IMultiVMR9RenderEngine* pRenderEngine
        );

    // obtain pointer to IMultiVMR9RenderEngine that owns this UI layer
    STDMETHOD(GetRenderEngineOwner)(
        IMultiVMR9RenderEngine** ppRenderEngine
        );

    HRESULT SetMixer( CGameMixer* pMixer );
    // private methods
private:

private:
    struct Vertex
    {
        D3DVECTOR Pos;
        float tu;
        float tv;
    };
<hr>


    // data
    CCritSec                    m_ObjectLock;       // this object has to be thread-safe
    BOOL                        m_bInitialized;
    IMultiVMR9RenderEngine*     m_pOwner;
    IDirect3DTexture9*          m_pTextureButtonResume;
    IDirect3DTexture9*          m_pTextureButtonView;
    CGameMixer*                 m_pMixer;
    BOOL                        m_bViewing;
    struct Vertex               m_V[4];
};
<hr>


<hr> <style type="text/css"> div.mainnavigate { margin: 20px 2px; /* background-color: #ffffff; */ border: 1px solid black; } </style> <div class=xnavigate> [] <black>readme</black> course(s) preface <black>I</black> 1 2 <black>II</black> 3 4 <black>III</black> 5 6 7 <black>IV</black> 8 9 10 <black>V</black> 11 12 afterthought(s) <black>appendix</black> reference(s) example(s) <black>resource(s)</black> _ </div> <hr>

(C) Æliens 20/2/2008

You may not copy or print any of this material without explicit permission of the author or the publisher. In case of other copyright issues, contact the author. </div> <script src="http://www.google-analytics.com/urchin.js" type="text/javascript"> </script> <script type="text/javascript"> _uacct = "UA-2780434-1"; urchinTracker(); </script> </body> </html> <hr> <hr> <table cellpadding=10> <tr> <td> <address> Hush Online Technology </address> hush@cs.vu.nl <br>03/12/09 </td><td> </td> <td></td><td></td><td></td><td></td><td></td><td></td><td></td> <td> </td> </tr> </table>