home *** CD-ROM | disk | FTP | other *** search
/ Tricks of the Windows Gam…ming Gurus (2nd Edition) / Disc2.iso / msdn_vcb / samples / vc98 / sdk / graphics / video / textout / txtout.h < prev    next >
C/C++ Source or Header  |  1997-10-05  |  2KB  |  69 lines

  1. /****************************************************************************
  2.  *
  3.  *   TxtOut.h
  4.  *
  5.  ***************************************************************************/
  6. /**************************************************************************
  7.  *
  8.  *  THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
  9.  *  KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
  10.  *  IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
  11.  *  PURPOSE.
  12.  *
  13.  *  Copyright (C) 1992 - 1997 Microsoft Corporation.  All Rights Reserved.
  14.  *
  15.  **************************************************************************/
  16. typedef struct {
  17.     WORD w;
  18. } ICSTATE;
  19.  
  20. #define BUFFER_SIZE 256
  21.  
  22. typedef struct {
  23.     DWORD        dwFlags;    // flags from ICOPEN
  24.     ICSTATE        CurrentState;    // current state of compressor.
  25.     int        nDraw;        // count of DRAW_BEGIN calls
  26.     HFONT        hfont;
  27.     ICDRAWBEGIN    db;
  28.     RECT        rc;
  29.     int        iLen;
  30.     char        achBuffer[BUFFER_SIZE];
  31. } INSTINFO, *PINSTINFO;
  32.  
  33. BOOL        NEAR PASCAL Load(void);
  34. void        NEAR PASCAL Free(void);
  35. INSTINFO*    NEAR PASCAL Open(ICOPEN FAR *icinfo);
  36. LRESULT        NEAR PASCAL Close(INSTINFO * pinst);
  37. LRESULT        NEAR PASCAL GetState(INSTINFO * pinst, LPVOID pv, DWORD dwSize);
  38. LRESULT        NEAR PASCAL SetState(INSTINFO * pinst, LPVOID pv, DWORD dwSize);
  39. LRESULT        NEAR PASCAL GetInfo(INSTINFO * pinst, ICINFO FAR *icinfo, DWORD dwSize);
  40.  
  41. BOOL        NEAR PASCAL QueryAbout(INSTINFO * pinst);
  42. LRESULT        NEAR PASCAL About(INSTINFO * pinst, HWND hwnd);
  43. BOOL        NEAR PASCAL QueryConfigure(INSTINFO * pinst);
  44. LRESULT        NEAR PASCAL Configure(INSTINFO * pinst, HWND hwnd);
  45.  
  46. LRESULT        NEAR PASCAL DrawQuery(INSTINFO * pinst, LPVOID FAR * lpFormat);
  47. LRESULT        NEAR PASCAL DrawBegin(INSTINFO * pinst,ICDRAWBEGIN FAR *icinfo, DWORD dwSize);
  48. LRESULT        NEAR PASCAL Draw(INSTINFO * pinst,ICDRAW FAR *icinfo, DWORD dwSize);
  49. LRESULT        NEAR PASCAL DrawEnd(INSTINFO * pinst);
  50. BOOL         CALLBACK ConfigureDlgProc(
  51.             HWND hdlg,
  52.             UINT msg,
  53.             WPARAM wParam,
  54.             LPARAM lParam);
  55.  
  56. #ifdef DEBUG
  57.     extern void FAR CDECL dprintf(LPSTR, ...);
  58.     extern void FAR CDECL dprintf2(LPSTR, ...);
  59.     #define DPF dprintf
  60.     #define DPF2 dprintf2
  61. #else
  62.     #define DPF / ## /    // Pasting 2 slashes together comments out
  63.     #define DPF2 / ## /    // the rest of the line.
  64. #endif
  65.  
  66. // string IDs
  67. #define IDS_DESCRIPTION        112    // 0x70, so WIN16 rc.exe can put 16
  68. #define IDS_NAME        113    // strings in a segment
  69.