source: trunk/src/ddraw/OS2CLIPPER.H@ 6901

Last change on this file since 6901 was 6901, checked in by sandervl, 24 years ago

clipper updates

File size: 2.4 KB
Line 
1/* $Id: OS2CLIPPER.H,v 1.9 2001-09-30 22:23:44 sandervl Exp $ */
2
3/*
4 * DX clipper class definition
5 *
6 * Copyright 1998 Sander va Leeuwen
7 *
8 * Project Odin Software License can be found in LICENSE.TXT
9 *
10 */
11#ifndef __OS2CLIPPER_H__
12#define __OS2CLIPPER_H__
13
14#include "divewrap.h"
15#define FAR
16#undef THIS
17#define THIS IDirectDrawClipper*
18class OS2IDirectDrawClipper
19{
20 public:
21 //this one has to go first!
22 IDirectDrawClipperVtbl *lpVtbl;
23 IDirectDrawClipperVtbl Vtbl;
24
25 OS2IDirectDrawClipper(OS2IDirectDraw *lpDirectDraw);
26 OS2IDirectDrawClipper(void);
27 ~OS2IDirectDrawClipper();
28
29 int Referenced;
30 inline HRESULT GetLastError() { return lastError; };
31 private:
32
33 protected:
34 HRESULT lastError;
35 OS2IDirectDraw *lpDraw;
36 HDIVE hDive;
37 HWND clipWindow;
38
39 LPRGNDATA lpRgnData;
40 BOOL fClipListChanged;
41 BOOL fDrawingAllowed;
42
43 // Linked list management
44 OS2IDirectDrawClipper* next; // Next OS2IDirectDraw
45 static OS2IDirectDrawClipper* ddraw; // List of OS2IDirectDraw
46
47 friend HRESULT WIN32API ClipQueryInterface(THIS, REFIID riid, LPVOID FAR * ppvObj);
48 friend ULONG WIN32API ClipAddRef(THIS);
49 friend ULONG WIN32API ClipRelease(THIS);
50 friend HRESULT WIN32API ClipGetClipList(THIS, LPRECT, LPRGNDATA, LPDWORD);
51 friend HRESULT WIN32API ClipGetHWnd(THIS, HWND FAR *);
52 friend HRESULT WIN32API ClipInitialize(THIS, LPDIRECTDRAW, DWORD);
53 friend HRESULT WIN32API ClipIsClipListChanged(THIS, BOOL FAR *);
54 friend HRESULT WIN32API ClipSetClipList(THIS, LPRGNDATA,DWORD);
55 friend HRESULT WIN32API ClipSetHWnd(THIS, DWORD, HWND );
56 friend BOOL WIN32API ClipVisRgnCallback(HWND hwnd, BOOL fDrawingAllowed, DWORD dwUserData);
57
58};
59
60HRESULT __stdcall ClipQueryInterface(THIS, REFIID riid, LPVOID FAR * ppvObj);
61ULONG __stdcall ClipAddRef(THIS);
62ULONG __stdcall ClipRelease(THIS);
63HRESULT __stdcall ClipGetClipList(THIS, LPRECT, LPRGNDATA, LPDWORD);
64HRESULT __stdcall ClipGetHWnd(THIS, HWND FAR *);
65HRESULT __stdcall ClipInitialize(THIS, LPDIRECTDRAW, DWORD);
66HRESULT __stdcall ClipIsClipListChanged(THIS, BOOL FAR *);
67HRESULT __stdcall ClipSetClipList(THIS, LPRGNDATA,DWORD);
68HRESULT __stdcall ClipSetHWnd(THIS, DWORD, HWND );
69
70#endif
Note: See TracBrowser for help on using the repository browser.