d3dx8core_private.h 2.9 KB
Newer Older
Raphael Junqueira's avatar
Raphael Junqueira committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
/*
 * Direct3D X 8 private include file
 *
 * Copyright 2002 Raphael Junqueira
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2.1 of the License, or (at your option) any later version.
 *
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this library; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */

#ifndef __WINE_D3DX8CORE_PRIVATE_H
#define __WINE_D3DX8CORE_PRIVATE_H

24 25 26 27
#include <stdarg.h>

#include "windef.h"
#include "winbase.h"
Raphael Junqueira's avatar
Raphael Junqueira committed
28 29 30 31 32 33 34 35 36 37 38 39 40
#include "d3dx8core.h"

/* Interfaces */
typedef struct ID3DXBufferImpl ID3DXBufferImpl;
typedef struct ID3DXFontImpl   ID3DXFontImpl;

/* ----------- */
/* ID3DXBuffer */
/* ----------- */

/*****************************************************************************
 * Predeclare the interface implementation structures
 */
41
extern const ID3DXBufferVtbl D3DXBuffer_Vtbl;
Raphael Junqueira's avatar
Raphael Junqueira committed
42 43 44 45 46 47 48

/*****************************************************************************
 * ID3DXBufferImpl implementation structure
 */
struct ID3DXBufferImpl
{
  /* IUnknown fields */
49
  const ID3DXBufferVtbl *lpVtbl;
50
  LONG           ref;
Raphael Junqueira's avatar
Raphael Junqueira committed
51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72

  /* ID3DXBuffer fields */
  DWORD         *buffer;
  DWORD          bufferSize;
};

/* IUnknown: */
extern HRESULT WINAPI ID3DXBufferImpl_QueryInterface(LPD3DXBUFFER iface, REFIID refiid, LPVOID *obj);
extern ULONG WINAPI   ID3DXBufferImpl_AddRef(LPD3DXBUFFER iface);
extern ULONG WINAPI   ID3DXBufferImpl_Release(LPD3DXBUFFER iface);

/* ID3DXBuffer: */
extern LPVOID WINAPI ID3DXBufferImpl_GetBufferPointer(LPD3DXBUFFER iface);
extern DWORD WINAPI  ID3DXBufferImpl_GetBufferSize(LPD3DXBUFFER iface);

/* --------- */
/* ID3DXFont */
/* --------- */

/*****************************************************************************
 * Predeclare the interface implementation structures
 */
73
extern const ID3DXFontVtbl D3DXFont_Vtbl;
Raphael Junqueira's avatar
Raphael Junqueira committed
74 75 76 77 78 79 80

/*****************************************************************************
 * ID3DXFontImpl implementation structure
 */
struct ID3DXFontImpl
{
  /* IUnknown fields */
81
  const ID3DXFontVtbl *lpVtbl;
82
  LONG           ref;
Raphael Junqueira's avatar
Raphael Junqueira committed
83 84 85 86 87 88 89 90 91 92 93 94 95

  /* ID3DXFont fields */
};

/* IUnknown: */
extern HRESULT WINAPI ID3DXFontImpl_QueryInterface(LPD3DXFONT iface, REFIID refiid, LPVOID *obj);
extern ULONG WINAPI   ID3DXFontImpl_AddRef(LPD3DXFONT iface);
extern ULONG WINAPI   ID3DXFontImpl_Release(LPD3DXFONT iface);

/* ID3DXFont: */
extern INT WINAPI     ID3DXFontImpl_DrawTextA(LPCSTR pString, INT Count, LPRECT pRect, DWORD Format, D3DCOLOR Color); 

#endif /*__WINE_D3DX8CORE_PRIVATE_H */