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 + -
显示快捷键?