source: trunk/src/ddraw/ddclipper.cpp@ 21483

Last change on this file since 21483 was 21483, checked in by dmik, 15 years ago

ddraw: Don't define CINTERFACE twice.

File size: 1.7 KB
Line 
1/* $Id: ddclipper.cpp,v 1.1 2002-12-04 10:34:57 sandervl Exp $ */
2
3/*
4 * DXDrawClipper DLL implementaion
5 *
6 * Copyright 2001 Patrick Haller <patrick.haller@innotek.de>
7 *
8 *
9 * Project Odin Software License can be found in LICENSE.TXT
10 *
11 */
12
13// define the following as we include winnt.h
14#define _OS2WIN_H
15#define FAR
16
17#include <odin.h>
18#include <winbase.h>
19#include <memory.h>
20#include <stdio.h>
21
22#ifndef CINTERFACE
23#define CINTERFACE 1
24#endif
25#include "ddraw2d.h"
26#include "clipper.h"
27#include "winerror.h"
28
29#include <misc.h>
30
31//******************************************************************************
32//******************************************************************************
33HRESULT WIN32API OS2DirectDrawCreateClipper(DWORD dwFlags,
34 LPDIRECTDRAWCLIPPER FAR *lplpDDClipper,
35 IUnknown FAR *pUnkOuter)
36{
37 OS2IDirectDrawClipper *newDDClipper;
38 HRESULT rc;
39
40 dprintf(("DDRAW-CLIPPER: DirectDrawCreateClipper(%08xh,%08xh,%08xh)\n",
41 dwFlags,
42 lplpDDClipper,
43 pUnkOuter));
44
45 // Verify parameters according to the docs
46 if (pUnkOuter != NULL)
47 return CLASS_E_NOAGGREGATION;
48
49 if (dwFlags != 0)
50 return DDERR_INVALIDPARAMS;
51
52
53 newDDClipper = new OS2IDirectDrawClipper();
54
55 if(newDDClipper == NULL)
56 {
57 rc = DDERR_OUTOFMEMORY;
58 }
59 else
60 {
61 newDDClipper->Vtbl.fnAddRef((IDirectDrawClipper *)newDDClipper);
62
63 rc = newDDClipper->GetLastError();
64 if(rc != DD_OK)
65 {
66 *lplpDDClipper = NULL;
67
68 delete newDDClipper;
69 }
70 else
71 *lplpDDClipper = (LPDIRECTDRAWCLIPPER)newDDClipper;
72 }
73 return(rc);
74}
75
76
Note: See TracBrowser for help on using the repository browser.