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

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

take clipping info into account when blitting

File size: 2.4 KB
Line 
1/* $Id: OS2CLIPPER.H,v 1.10 2001-10-03 13:49:39 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
16#define FAR
17#undef THIS
18#define THIS IDirectDrawClipper*
19class OS2IDirectDrawClipper
20{
21 public:
22 //this one has to go first!
23 IDirectDrawClipperVtbl *lpVtbl;
24 IDirectDrawClipperVtbl Vtbl;
25
26 OS2IDirectDrawClipper(OS2IDirectDraw *lpDirectDraw);
27 OS2IDirectDrawClipper(void);
28 ~OS2IDirectDrawClipper();
29
30 int Referenced;
31 inline HRESULT GetLastError() { return lastError; };
32
33 private:
34
35 protected:
36 HRESULT lastError;
37 OS2IDirectDraw *lpDraw;
38 HDIVE hDive;
39 HWND clipWindow;
40
41 LPRGNDATA lpRgnData;
42 BOOL fClipListChanged;
43 BOOL fDrawingAllowed;
44
45 // Linked list management
46 OS2IDirectDrawClipper* next; // Next OS2IDirectDraw
47 static OS2IDirectDrawClipper* ddraw; // List of OS2IDirectDraw
48
49 friend HRESULT WIN32API ClipQueryInterface(THIS, REFIID riid, LPVOID FAR * ppvObj);
50 friend ULONG WIN32API ClipAddRef(THIS);
51 friend ULONG WIN32API ClipRelease(THIS);
52 friend HRESULT WIN32API ClipGetClipList(THIS, LPRECT, LPRGNDATA, LPDWORD);
53 friend HRESULT WIN32API ClipGetHWnd(THIS, HWND FAR *);
54 friend HRESULT WIN32API ClipInitialize(THIS, LPDIRECTDRAW, DWORD);
55 friend HRESULT WIN32API ClipIsClipListChanged(THIS, BOOL FAR *);
56 friend HRESULT WIN32API ClipSetClipList(THIS, LPRGNDATA,DWORD);
57 friend HRESULT WIN32API ClipSetHWnd(THIS, DWORD, HWND );
58 friend BOOL WIN32API ClipVisRgnCallback(HWND hwnd, BOOL fDrawingAllowed, DWORD dwUserData);
59
60};
61
62HRESULT __stdcall ClipQueryInterface(THIS, REFIID riid, LPVOID FAR * ppvObj);
63ULONG __stdcall ClipAddRef(THIS);
64ULONG __stdcall ClipRelease(THIS);
65HRESULT __stdcall ClipGetClipList(THIS, LPRECT, LPRGNDATA, LPDWORD);
66HRESULT __stdcall ClipGetHWnd(THIS, HWND FAR *);
67HRESULT __stdcall ClipInitialize(THIS, LPDIRECTDRAW, DWORD);
68HRESULT __stdcall ClipIsClipListChanged(THIS, BOOL FAR *);
69HRESULT __stdcall ClipSetClipList(THIS, LPRGNDATA,DWORD);
70HRESULT __stdcall ClipSetHWnd(THIS, DWORD, HWND );
71
72#endif
Note: See TracBrowser for help on using the repository browser.