d3dx8_private.h 2.42 KB
Newer Older
Raphael Junqueira's avatar
Raphael Junqueira committed
1 2 3 4
/*
 * Direct3D X 8 private include file
 *
 * Copyright 2002 Raphael Junqueira
5
 * Copyright 2007 David Adam
Raphael Junqueira's avatar
Raphael Junqueira committed
6 7 8 9 10 11 12 13 14 15 16 17 18
 *
 * 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
19
 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
Raphael Junqueira's avatar
Raphael Junqueira committed
20 21
 */

22 23
#ifndef __WINE_D3DX8_PRIVATE_H
#define __WINE_D3DX8_PRIVATE_H
Raphael Junqueira's avatar
Raphael Junqueira committed
24

25 26 27 28
#include <stdarg.h>

#include "windef.h"
#include "winbase.h"
29
#include "d3dx8.h"
Raphael Junqueira's avatar
Raphael Junqueira committed
30 31 32 33

/* Interfaces */
typedef struct ID3DXBufferImpl ID3DXBufferImpl;
typedef struct ID3DXFontImpl   ID3DXFontImpl;
34
typedef struct ID3DXMatrixStackImpl ID3DXMatrixStackImpl;
Raphael Junqueira's avatar
Raphael Junqueira committed
35 36 37 38 39 40 41 42

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

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

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

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

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

/*****************************************************************************
 * ID3DXFontImpl implementation structure
 */
struct ID3DXFontImpl
{
  /* IUnknown fields */
69
  const ID3DXFontVtbl *lpVtbl;
70
  LONG           ref;
Raphael Junqueira's avatar
Raphael Junqueira committed
71 72 73 74

  /* ID3DXFont fields */
};

75 76 77 78 79 80 81 82 83 84 85 86 87 88
/* ----------- */
/* ID3DXMatrix */
/* ----------- */

/*****************************************************************************
 * ID3DXMatrixStackImpl implementation structure
 */
struct ID3DXMatrixStackImpl
{
  /* IUnknown fields */
  const ID3DXMatrixStackVtbl *lpVtbl;
  LONG                   ref;

  /* ID3DXMatrixStack fields */
89 90
  unsigned int current;
  unsigned int stack_size;
91 92 93
  D3DXMATRIX *stack;
};

94
#endif /*__WINE_D3DX8_PRIVATE_H */