windows-nt/Source/XPSP1/NT/shell/osshell/control/scrnsave/pipes/pipes.h

85 lines
2.2 KiB
C
Raw Normal View History

2020-09-26 03:20:57 -05:00
//-----------------------------------------------------------------------------
// File: Pipes.h
//
// Desc:
//
// Copyright (c) 2000 Microsoft Corporation. All rights reserved.
//-----------------------------------------------------------------------------
#ifndef _PIPES_H
#define _PIPES_H
#define MAX_DEVICE_OBJECTS 10
struct DeviceObjects
{
STATE* m_pState;
};
struct CONFIG
{
BOOL bMultiPipes;
DWORD nJointType;
BOOL bTextured;
BOOL bDefaultTexture;
TCHAR strTextureName[MAX_PATH][MAX_TEXTURES];
DWORD dwSpeed;
BOOL bFlexMode;
DWORD dwTesselFact;
};
//-----------------------------------------------------------------------------
// Name:
// Desc:
//-----------------------------------------------------------------------------
class CPipesScreensaver : public CD3DScreensaver
{
protected:
DeviceObjects m_DeviceObjects[MAX_DEVICE_OBJECTS];
DeviceObjects* m_pDeviceObjects;
int m_iRenderUnit;
D3DXCOLOR m_col3;
protected:
virtual HRESULT RegisterSoftwareDevice();
virtual VOID DoConfig();
virtual VOID ReadSettings();
VOID WriteSettings();
virtual VOID DoPaint( HWND hwnd, HDC hdc );
virtual VOID SetDevice( UINT iDevice );
virtual HRESULT Render();
virtual HRESULT FrameMove();
virtual HRESULT RestoreDeviceObjects();
virtual HRESULT InvalidateDeviceObjects();
VOID Randomize( INT* piNum, INT iMax );
public:
CPipesScreensaver();
CONFIG m_Config;
D3DSURFACE_DESC* GetSurfaceDesc() { return &m_d3dsdBackBuffer; };
BOOL SelectTextureFile( HWND hDlg, TCHAR* origPathName );
VOID ss_ReadSettings();
BOOL ss_RegistrySetup( int section, int file );
int ss_GetRegistryInt( int name, int iDefault );
VOID ss_GetRegistryString( int name, LPTSTR lpDefault, LPTSTR lpDest, int bufSize );
// Override from CD3DScreensaver
INT_PTR CALLBACK ConfigureDialogProc( HWND hwndDlg, UINT uMsg,
WPARAM wParam, LPARAM lParam );
static int iRand( int max );
static int iRand2( int min, int max );
static FLOAT fRand( FLOAT min, FLOAT max );
static VOID RandInit();
};
#endif