Author: fireball
Date: Sun Jun 8 13:26:22 2008
New Revision: 33905
URL:
http://svn.reactos.org/svn/reactos?rev=33905&view=rev
Log:
- Update dciddi.h header based on Magnus's patch.
- Fix dciman32.dll compilation.
Modified:
trunk/reactos/dll/win32/dciman32/dciman_main.c
trunk/reactos/include/psdk/dciddi.h
Modified: trunk/reactos/dll/win32/dciman32/dciman_main.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/dciman32/dciman_…
==============================================================================
--- trunk/reactos/dll/win32/dciman32/dciman_main.c [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/dciman32/dciman_main.c [iso-8859-1] Sun Jun 8 13:26:22 2008
@@ -22,9 +22,7 @@
#include <stdarg.h>
#include <stdio.h>
-#include "windef.h"
-#include "winbase.h"
-#include "winerror.h"
+#include "windows.h"
#include "dciman.h"
#include "wine/debug.h"
Modified: trunk/reactos/include/psdk/dciddi.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/psdk/dciddi.h?rev=…
==============================================================================
--- trunk/reactos/include/psdk/dciddi.h [iso-8859-1] (original)
+++ trunk/reactos/include/psdk/dciddi.h [iso-8859-1] Sun Jun 8 13:26:22 2008
@@ -2,6 +2,7 @@
* DCI driver interface
*
* Copyright (C) 2001 Ove Kaaven
+ * Copyright (C) 2008 Magnus Olsen, Aleksey Bragin
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@@ -18,8 +19,8 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
-#ifndef __WINE_DCIDDI_H
-#define __WINE_DCIDDI_H
+#ifndef __INC_DCIDDI
+#define __INC_DCIDDI
#ifdef __cplusplus
extern "C" {
@@ -35,15 +36,81 @@
#define DCIENUMSURFACE 4
#define DCIESCAPE 5
-/* DCI Errors */
-#define DCI_OK 0
+typedef int DCIRVAL; /* DCI callback return type */
+
+/* DCI Errors and success codes*/
+#define DCI_SUCCESS(error) (((DCIRVAL)error) >= 0)
+
+#define DCI_STATUS_POINTERCHANGED 1
+#define DCI_STATUS_STRIDECHANGED 2
+#define DCI_STATUS_FORMATCHANGED 4
+#define DCI_STATUS_SURFACEINFOCHANGED 8
+#define DCI_STATUS_CHROMAKEYCHANGED 16
+#define DCI_STATUS_WASSTILLDRAWING 32
+
+#define DCI_OK 0
#define DCI_FAIL_GENERIC -1
#define DCI_FAIL_UNSUPPORTEDVERSION -2
#define DCI_FAIL_INVALIDSURFACE -3
#define DCI_FAIL_UNSUPPORTED -4
+#define DCI_ERR_CURRENTLYNOTAVAIL -5
+#define DCI_ERR_INVALIDRECT -6
+#define DCI_ERR_UNSUPPORTEDFORMAT -7
+#define DCI_ERR_UNSUPPORTEDMASK -8
+#define DCI_ERR_TOOBIGHEIGHT -9
+#define DCI_ERR_TOOBIGWIDTH -10
+#define DCI_ERR_TOOBIGSIZE -11
+#define DCI_ERR_OUTOFMEMORY -12
+#define DCI_ERR_INVALIDPOSITION -13
+#define DCI_ERR_INVALIDSTRETCH -14
+#define DCI_ERR_INVALIDCLIPLIST -15
+#define DCI_ERR_SURFACEISOBSCURED -16
+#define DCI_ERR_XALIGN -17
+#define DCI_ERR_YALIGN -18
+#define DCI_ERR_XYALIGN -19
+#define DCI_ERR_WIDTHALIGN -20
+#define DCI_ERR_HEIGHTALIGN -21
-typedef int DCIRVAL; /* DCI callback return type */
+/* Capabilities */
+#define DCI_SURFACE_TYPE 0x0000000F
+#define DCI_PRIMARY 0x00000000
+#define DCI_OFFSCREEN 0x00000001
+#define DCI_OVERLAY 0x00000002
+#define DCI_VISIBLE 0x00000010
+#define DCI_CHROMAKEY 0x00000020
+#define DCI_1632_ACCESS 0x00000040
+#define DCI_DWORDSIZE 0x00000080
+#define DCI_DWORDALIGN 0x00000100
+#define DCI_WRITEONLY 0x00000200
+#define DCI_ASYNC 0x00000400
+#define DCI_CAN_STRETCHX 0x00001000
+#define DCI_CAN_STRETCHY 0x00002000
+#define DCI_CAN_STRETCHXY (DCI_CAN_STRETCHX | DCI_CAN_STRETCHY)
+#define DCI_CAN_STRETCHXN 0x00004000
+#define DCI_CAN_STRETCHYN 0x00008000
+#define DCI_CAN_STRETCHXYN (DCI_CAN_STRETCHXN | DCI_CAN_STRETCHYN)
+#define DCI_CANOVERLAY 0x00010000
+
+/* FOURCC codes */
+#ifndef YVU9
+#define YVU9 mmioFOURCC('Y','V','U','9')
+#endif
+#ifndef Y411
+#define Y411 mmioFOURCC('Y','4','1','1')
+#endif
+#ifndef YUY2
+#define YUY2 mmioFOURCC('Y','U','Y','2')
+#endif
+#ifndef YVYU
+#define YVYU mmioFOURCC('Y','V','Y','U')
+#endif
+#ifndef UYVY
+#define UYVY mmioFOURCC('U','Y','V','Y')
+#endif
+#ifndef Y211
+#define Y211 mmioFOURCC('Y','2','1','1')
+#endif
/*****************************************************************************
* Escape command structures
@@ -54,7 +121,18 @@
DWORD dwParam2;
DWORD dwVersion;
DWORD dwReserved;
-} DCICMD,*LPDCICMD;
+} DCICMD;
+
+typedef struct _DCICREATEINPUT {
+ DCICMD cmd;
+ DWORD dwCompression;
+ DWORD dwMask[3];
+ DWORD dwWidth;
+ DWORD dwHeight;
+ DWORD dwDCICaps;
+ DWORD dwBitCount;
+ LPVOID lpSurface;
+} DCICREATEINPUT, *LPDCICREATEINPUT;
typedef struct _DCISURFACEINFO {
DWORD dwSize;
@@ -74,10 +152,34 @@
DCIRVAL (CALLBACK *BeginAccess)(LPVOID, LPRECT);
void (CALLBACK *EndAccess)(LPVOID);
void (CALLBACK *DestroySurface)(LPVOID);
-} DCISURFACEINFO, *LPDCISURFACEINFO;
+} DCISURFACEINFO, *LPDCISURFACEINFO, DCIPRIMARY, *LPDCIPRIMARY;
+
+typedef void (*ENUM_CALLBACK)(LPDCISURFACEINFO lpSurfaceInfo,
+ LPVOID lpContext);
+
+typedef struct _DCIENUMINPUT {
+ DCICMD cmd;
+ RECT rSrc;
+ RECT rDst;
+ void (CALLBACK *EnumCallback)(LPDCISURFACEINFO, LPVOID);
+ LPVOID lpContext;
+} DCIENUMINPUT, *LPDCIENUMINPUT;
+
+typedef struct _DCIOFFSCREEN {
+ DCISURFACEINFO dciInfo;
+ DCIRVAL (CALLBACK *Draw) (LPVOID);
+ DCIRVAL (CALLBACK *SetClipList) (LPVOID, LPRGNDATA);
+ DCIRVAL (CALLBACK *SetDestination) (LPVOID, LPRECT, LPRECT);
+} DCIOFFSCREEN, *LPDCIOFFSCREEN;
+
+typedef struct _DCIOVERLAY {
+ DCISURFACEINFO dciInfo;
+ DWORD dwChromakeyValue;
+ DWORD dwChromakeyMask;
+} DCIOVERLAY, *LPDCIOVERLAY;
#ifdef __cplusplus
} /* extern "C" */
#endif
-#endif /* __WINE_DCIDDI_H */
+#endif /* __INC_DCIDDI */