main.h

来自「Wine-20031016」· C头文件 代码 · 共 250 行

H
250
字号
/* * Copyright 2000-2001 TransGaming Technologies Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA */#ifndef DDRAW_DSURFACE_MAIN_H_INCLUDED#define DDRAW_DSURFACE_MAIN_H_INCLUDED#include <stdarg.h>#include "windef.h"#include "winbase.h"#include "ddraw_private.h"/* Support for IDirectDrawSurface7::Set/Get/FreePrivateData. I don't think * anybody uses it for much so a good implementation is optional. */typedef struct PrivateData{    struct PrivateData* next;    struct PrivateData* prev;    GUID tag;    DWORD flags; /* DDSPD_* */    DWORD uniqueness_value;    union    {	LPVOID data;	LPUNKNOWN object;    } ptr;    DWORD size;} PrivateData;extern ICOM_VTABLE(IDirectDrawGammaControl) DDRAW_IDDGC_VTable;/* Non-interface functions */HRESULTMain_DirectDrawSurface_Construct(IDirectDrawSurfaceImpl* This,				 IDirectDrawImpl* pDD,				 const DDSURFACEDESC2* pDDSD);void Main_DirectDrawSurface_ForceDestroy(IDirectDrawSurfaceImpl* This);voidMain_DirectDrawSurface_final_release(IDirectDrawSurfaceImpl* This);HRESULTMain_DirectDrawSurface_late_allocate(IDirectDrawSurfaceImpl* This);BOOLMain_DirectDrawSurface_attach(IDirectDrawSurfaceImpl *This,			      IDirectDrawSurfaceImpl *to);BOOL Main_DirectDrawSurface_detach(IDirectDrawSurfaceImpl *This);voidMain_DirectDrawSurface_lock_update(IDirectDrawSurfaceImpl* This,				   LPCRECT pRect, DWORD dwFlags);voidMain_DirectDrawSurface_unlock_update(IDirectDrawSurfaceImpl* This,				     LPCRECT pRect);voidMain_DirectDrawSurface_lose_surface(IDirectDrawSurfaceImpl* This);voidMain_DirectDrawSurface_set_palette(IDirectDrawSurfaceImpl* This,				   IDirectDrawPaletteImpl* pal);voidMain_DirectDrawSurface_update_palette(IDirectDrawSurfaceImpl* This,				      IDirectDrawPaletteImpl* pal,				      DWORD dwStart, DWORD dwCount,				      LPPALETTEENTRY palent);HWNDMain_DirectDrawSurface_get_display_window(IDirectDrawSurfaceImpl* This);HRESULTMain_DirectDrawSurface_get_gamma_ramp(IDirectDrawSurfaceImpl* This,				      DWORD dwFlags,				      LPDDGAMMARAMP lpGammaRamp);HRESULTMain_DirectDrawSurface_set_gamma_ramp(IDirectDrawSurfaceImpl* This,				      DWORD dwFlags,				      LPDDGAMMARAMP lpGammaRamp);BOOL Main_DirectDrawSurface_flip_data(IDirectDrawSurfaceImpl* front,				      IDirectDrawSurfaceImpl* back,				      DWORD dwFlags);#define CHECK_LOST(This)					\	do {							\		if (This->lost) return DDERR_SURFACELOST;	\	} while (0)#define CHECK_TEXTURE(This)					\	do {							\		if (!(This->surface_desc.ddsCaps.dwCaps2	\		      & DDSCAPS2_TEXTUREMANAGE))		\			return DDERR_INVALIDOBJECT;		\	} while (0)#define LOCK_OBJECT(This) do { } while (0)#define UNLOCK_OBJECT(This) do { } while (0)/* IDirectDrawSurface7 (partial) implementation */ULONG WINAPIMain_DirectDrawSurface_AddRef(LPDIRECTDRAWSURFACE7 iface);ULONG WINAPIMain_DirectDrawSurface_Release(LPDIRECTDRAWSURFACE7 iface);HRESULT WINAPIMain_DirectDrawSurface_QueryInterface(LPDIRECTDRAWSURFACE7 iface, REFIID riid,				      LPVOID* ppObj);HRESULT WINAPIMain_DirectDrawSurface_AddAttachedSurface(LPDIRECTDRAWSURFACE7 iface,					  LPDIRECTDRAWSURFACE7 pAttach);HRESULT WINAPIMain_DirectDrawSurface_AddOverlayDirtyRect(LPDIRECTDRAWSURFACE7 iface,					   LPRECT pRect);HRESULT WINAPIMain_DirectDrawSurface_BltBatch(LPDIRECTDRAWSURFACE7 iface,				LPDDBLTBATCH pBatch, DWORD dwCount,				DWORD dwFlags);HRESULT WINAPIMain_DirectDrawSurface_ChangeUniquenessValue(LPDIRECTDRAWSURFACE7 iface);HRESULT WINAPIMain_DirectDrawSurface_DeleteAttachedSurface(LPDIRECTDRAWSURFACE7 iface,					     DWORD dwFlags,					     LPDIRECTDRAWSURFACE7 pAttach);HRESULT WINAPIMain_DirectDrawSurface_EnumAttachedSurfaces(LPDIRECTDRAWSURFACE7 iface,					    LPVOID context,					    LPDDENUMSURFACESCALLBACK7 cb);HRESULT WINAPIMain_DirectDrawSurface_EnumOverlayZOrders(LPDIRECTDRAWSURFACE7 iface,					  DWORD dwFlags, LPVOID context,					  LPDDENUMSURFACESCALLBACK7 cb);HRESULT WINAPIMain_DirectDrawSurface_Flip(LPDIRECTDRAWSURFACE7 iface,			    LPDIRECTDRAWSURFACE7 override, DWORD dwFlags);HRESULT WINAPIMain_DirectDrawSurface_FreePrivateData(LPDIRECTDRAWSURFACE7 iface,				       REFGUID tag);HRESULT WINAPIMain_DirectDrawSurface_GetAttachedSurface(LPDIRECTDRAWSURFACE7 iface,					  LPDDSCAPS2 pCaps,					  LPDIRECTDRAWSURFACE7* ppSurface);HRESULT WINAPIMain_DirectDrawSurface_GetBltStatus(LPDIRECTDRAWSURFACE7 iface,				    DWORD dwFlags);HRESULT WINAPIMain_DirectDrawSurface_GetCaps(LPDIRECTDRAWSURFACE7 iface,			       LPDDSCAPS2 pCaps);HRESULT WINAPIMain_DirectDrawSurface_GetClipper(LPDIRECTDRAWSURFACE7 iface,				  LPDIRECTDRAWCLIPPER* ppClipper);HRESULT WINAPIMain_DirectDrawSurface_GetColorKey(LPDIRECTDRAWSURFACE7 iface,				   DWORD dwFlags, LPDDCOLORKEY pCKey);HRESULT WINAPIMain_DirectDrawSurface_GetDC(LPDIRECTDRAWSURFACE7 iface, HDC *phDC);HRESULT WINAPIMain_DirectDrawSurface_GetDDInterface(LPDIRECTDRAWSURFACE7 iface,				      LPVOID* pDD);HRESULT WINAPIMain_DirectDrawSurface_GetFlipStatus(LPDIRECTDRAWSURFACE7 iface,				     DWORD dwFlags);HRESULT WINAPIMain_DirectDrawSurface_GetLOD(LPDIRECTDRAWSURFACE7 iface,			      LPDWORD pdwMaxLOD);HRESULT WINAPIMain_DirectDrawSurface_GetOverlayPosition(LPDIRECTDRAWSURFACE7 iface,					  LPLONG pX, LPLONG pY);HRESULT WINAPIMain_DirectDrawSurface_GetPalette(LPDIRECTDRAWSURFACE7 iface,				  LPDIRECTDRAWPALETTE* ppPalette);HRESULT WINAPIMain_DirectDrawSurface_GetPixelFormat(LPDIRECTDRAWSURFACE7 iface,				      LPDDPIXELFORMAT pDDPixelFormat);HRESULT WINAPIMain_DirectDrawSurface_GetPriority(LPDIRECTDRAWSURFACE7 iface,				   LPDWORD pdwPriority);HRESULT WINAPIMain_DirectDrawSurface_GetPrivateData(LPDIRECTDRAWSURFACE7 iface, REFGUID tag,				      LPVOID pBuffer, LPDWORD pcbBufferSize);HRESULT WINAPIMain_DirectDrawSurface_GetSurfaceDesc(LPDIRECTDRAWSURFACE7 iface,				      LPDDSURFACEDESC2 pDDSD);HRESULT WINAPIMain_DirectDrawSurface_GetUniquenessValue(LPDIRECTDRAWSURFACE7 iface,					  LPDWORD pValue);HRESULT WINAPIMain_DirectDrawSurface_Initialize(LPDIRECTDRAWSURFACE7 iface,				  LPDIRECTDRAW pDD, LPDDSURFACEDESC2 pDDSD);HRESULT WINAPIMain_DirectDrawSurface_IsLost(LPDIRECTDRAWSURFACE7 iface);HRESULT WINAPIMain_DirectDrawSurface_Lock(LPDIRECTDRAWSURFACE7 iface, LPRECT prect,			    LPDDSURFACEDESC2 pDDSD, DWORD flags, HANDLE h);HRESULT WINAPIMain_DirectDrawSurface_PageLock(LPDIRECTDRAWSURFACE7 iface, DWORD dwFlags);HRESULT WINAPIMain_DirectDrawSurface_PageUnlock(LPDIRECTDRAWSURFACE7 iface, DWORD dwFlags);HRESULT WINAPIMain_DirectDrawSurface_ReleaseDC(LPDIRECTDRAWSURFACE7 iface, HDC hDC);HRESULT WINAPIMain_DirectDrawSurface_SetClipper(LPDIRECTDRAWSURFACE7 iface,				  LPDIRECTDRAWCLIPPER pDDClipper);HRESULT WINAPIMain_DirectDrawSurface_SetColorKey(LPDIRECTDRAWSURFACE7 iface,				   DWORD dwFlags, LPDDCOLORKEY pCKey);HRESULT WINAPIMain_DirectDrawSurface_SetLOD(LPDIRECTDRAWSURFACE7 iface, DWORD dwMaxLOD);HRESULT WINAPIMain_DirectDrawSurface_SetOverlayPosition(LPDIRECTDRAWSURFACE7 iface,					  LONG X, LONG Y);HRESULT WINAPIMain_DirectDrawSurface_SetPalette(LPDIRECTDRAWSURFACE7 iface,				  LPDIRECTDRAWPALETTE pPalette);HRESULT WINAPIMain_DirectDrawSurface_SetPriority(LPDIRECTDRAWSURFACE7 iface,				   DWORD dwPriority);HRESULT WINAPIMain_DirectDrawSurface_SetPrivateData(LPDIRECTDRAWSURFACE7 iface,				      REFGUID tag, LPVOID pData,				      DWORD cbSize, DWORD dwFlags);HRESULT WINAPIMain_DirectDrawSurface_Unlock(LPDIRECTDRAWSURFACE7 iface, LPRECT pRect);HRESULT WINAPIMain_DirectDrawSurface_UpdateOverlay(LPDIRECTDRAWSURFACE7 iface,				     LPRECT pSrcRect,				     LPDIRECTDRAWSURFACE7 pDstSurface,				     LPRECT pDstRect, DWORD dwFlags,				     LPDDOVERLAYFX pFX);HRESULT WINAPIMain_DirectDrawSurface_UpdateOverlayDisplay(LPDIRECTDRAWSURFACE7 iface,					    DWORD dwFlags);HRESULT WINAPIMain_DirectDrawSurface_UpdateOverlayZOrder(LPDIRECTDRAWSURFACE7 iface,					   DWORD dwFlags,					   LPDIRECTDRAWSURFACE7 pDDSRef);#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?