⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 clipper.c

📁 一个类似windows
💻 C
字号:
/* $Id: clipper.c 21760 2006-05-01 10:04:59Z greatlrd $
 *
 * COPYRIGHT:            See COPYING in the top level directory
 * PROJECT:              ReactOS
 * FILE:                 lib/ddraw/main/clipper.c
 * PURPOSE:              IDirectDrawClipper Implementation 
 * PROGRAMMER:           Maarten Bosma
 *
 */

#include "rosdraw.h"


ULONG WINAPI 
DirectDrawClipper_Release(LPDIRECTDRAWCLIPPER iface) 
{    
    DX_WINDBG_trace();

    IDirectDrawClipperImpl* This = (IDirectDrawClipperImpl*)iface;
	ULONG ref=0;

	if (iface!=NULL)
	{	  	
		ref = InterlockedDecrement( (PLONG) &This->ref);
            
		if (ref == 0)
		{		
		    /* Add here if we need releae some memory pointer before 
             * exists
             */   
		      			
            if (This!=NULL)
            {              
			    HeapFree(GetProcessHeap(), 0, This);
            }
		}
    }
    return ref;
}

ULONG WINAPI 
DirectDrawClipper_AddRef (LPDIRECTDRAWCLIPPER iface)
{    
   DX_WINDBG_trace();
      
   IDirectDrawClipperImpl * This = (IDirectDrawClipperImpl*)iface;
   
   ULONG ref=0;
    
   if (iface!=NULL)
   {
       ref = InterlockedIncrement( (PLONG) &This->ref);       
   }    
   return ref;       
}

HRESULT WINAPI 
DirectDrawClipper_Initialize( LPDIRECTDRAWCLIPPER iface, 
                              LPDIRECTDRAW lpDD, 
                              DWORD dwFlags) 
{
   /* FIXME not implment */
   DX_WINDBG_trace();
   DX_STUB_DD_OK;
}

HRESULT WINAPI 
DirectDrawClipper_SetHwnd( LPDIRECTDRAWCLIPPER iface, 
                           DWORD dwFlags, 
                           HWND hWnd) 
{
   /* FIXME not implment */
   DX_WINDBG_trace();
   DX_STUB_DD_OK;
}

HRESULT WINAPI 
DirectDrawClipper_GetClipList( LPDIRECTDRAWCLIPPER iface, 
                               LPRECT lpRect, 
                               LPRGNDATA lpClipList,
                               LPDWORD lpdwSize)
{
   DX_WINDBG_trace();
   DX_STUB;    
}

HRESULT WINAPI 
DirectDrawClipper_SetClipList( LPDIRECTDRAWCLIPPER iface,
                               LPRGNDATA lprgn,
                               DWORD dwFlag) 
{
   DX_WINDBG_trace();
   DX_STUB;    
}

HRESULT WINAPI 
DirectDrawClipper_QueryInterface( LPDIRECTDRAWCLIPPER iface, 
                                  REFIID riid, 
                                  LPVOID* ppvObj) 
{
   DX_WINDBG_trace();
   DX_STUB;    
}

HRESULT WINAPI 
DirectDrawClipper_GetHWnd( LPDIRECTDRAWCLIPPER iface, 
                           HWND* hWndPtr) 
{
   DX_WINDBG_trace();
   DX_STUB;    
}

HRESULT WINAPI 
DirectDrawClipper_IsClipListChanged( LPDIRECTDRAWCLIPPER iface, 
                                     BOOL* lpbChanged) 
{
   DX_WINDBG_trace();
   DX_STUB;    
}

IDirectDrawClipperVtbl DirectDrawClipper_Vtable =
{
    DirectDrawClipper_QueryInterface,
    DirectDrawClipper_AddRef,
    DirectDrawClipper_Release,
    DirectDrawClipper_GetClipList,
    DirectDrawClipper_GetHWnd,
    DirectDrawClipper_Initialize,
    DirectDrawClipper_IsClipListChanged,
    DirectDrawClipper_SetClipList,
    DirectDrawClipper_SetHwnd
};

⌨️ 快捷键说明

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