| 1 | /* $Id: oslibclipbrd.h,v 1.1 2004-04-13 14:17:01 sandervl Exp $ */ | 
|---|
| 2 | /** @file | 
|---|
| 3 | * | 
|---|
| 4 | * OSLIB for Clipboard | 
|---|
| 5 | * | 
|---|
| 6 | * InnoTek Systemberatung GmbH | 
|---|
| 7 | * | 
|---|
| 8 | * Copyright (c) 2004 InnoTek Systemberatung GmbH | 
|---|
| 9 | * Author: knut st. osmundsen <bird-srcspam@anduin.net> | 
|---|
| 10 | * | 
|---|
| 11 | * All Rights Reserved | 
|---|
| 12 | * | 
|---|
| 13 | */ | 
|---|
| 14 |  | 
|---|
| 15 | #ifndef __oslibclipbrd_h__ | 
|---|
| 16 | #define __oslibclipbrd_h__ | 
|---|
| 17 |  | 
|---|
| 18 | /* | 
|---|
| 19 | * Error codes. | 
|---|
| 20 | */ | 
|---|
| 21 | #define OSLIB_PMERR_CALL_FROM_WRONG_THREAD              0x1009 | 
|---|
| 22 |  | 
|---|
| 23 |  | 
|---|
| 24 | /* | 
|---|
| 25 | * Formats | 
|---|
| 26 | */ | 
|---|
| 27 | #define OSLIB_CF_TEXT                   1 | 
|---|
| 28 | #define OSLIB_CF_BITMAP                 2 | 
|---|
| 29 | #define OSLIB_CF_DSPTEXT                3 | 
|---|
| 30 | #define OSLIB_CF_DSPBITMAP              4 | 
|---|
| 31 | #define OSLIB_CF_METAFILE               5 | 
|---|
| 32 | #define OSLIB_CF_DSPMETAFILE            6 | 
|---|
| 33 | #define OSLIB_CF_PALETTE                9 | 
|---|
| 34 | #define OSLIB_CF_MMPMFIRST              10 | 
|---|
| 35 | #define OSLIB_CF_MMPMLAST               19 | 
|---|
| 36 |  | 
|---|
| 37 | #define OSLIB_SZFMT_TEXT                "#1" | 
|---|
| 38 | #define OSLIB_SZFMT_BITMAP              "#2" | 
|---|
| 39 | #define OSLIB_SZFMT_DSPTEXT             "#3" | 
|---|
| 40 | #define OSLIB_SZFMT_DSPBITMAP           "#4" | 
|---|
| 41 | #define OSLIB_SZFMT_METAFILE            "#5" | 
|---|
| 42 | #define OSLIB_SZFMT_DSPMETAFILE         "#6" | 
|---|
| 43 | #define OSLIB_SZFMT_PALETTE             "#9" | 
|---|
| 44 | #define OSLIB_SZFMT_SYLK                "Sylk" | 
|---|
| 45 | #define OSLIB_SZFMT_DIF                 "Dif" | 
|---|
| 46 | #define OSLIB_SZFMT_TIFF                "Tiff" | 
|---|
| 47 | #define OSLIB_SZFMT_OEMTEXT             "OemText" | 
|---|
| 48 | #define OSLIB_SZFMT_DIB                 "Dib" | 
|---|
| 49 | #define OSLIB_SZFMT_OWNERDISPLAY        "OwnerDisplay" | 
|---|
| 50 | #define OSLIB_SZFMT_LINK                "Link" | 
|---|
| 51 | #define OSLIB_SZFMT_METAFILEPICT        "MetaFilePict" | 
|---|
| 52 | #define OSLIB_SZFMT_DSPMETAFILEPICT     "DspMetaFilePict" | 
|---|
| 53 | #define OSLIB_SZFMT_CPTEXT              "Codepage Text" | 
|---|
| 54 | #define OSLIB_SZFMT_WINMETAFILEPICT     "Win_MetaFilePict" | 
|---|
| 55 | #define OSLIB_SZFMT_WINDSPMETAFILEPICT  "Win_DspMetaFilePict" | 
|---|
| 56 | #define OSLIB_SZFMT_WINENHMETAFILE      "Win_EnhMetaFile" | 
|---|
| 57 | #define OSLIB_SZFMT_WINDSPENHMETAFILE   "Win_DspEnhMetaFile" | 
|---|
| 58 |  | 
|---|
| 59 | #pragma pack(1) | 
|---|
| 60 | typedef struct _OSLIB_BITMAPINFOHEADER2 | 
|---|
| 61 | { | 
|---|
| 62 | DWORD     cbFix; | 
|---|
| 63 | DWORD     cx; | 
|---|
| 64 | DWORD     cy; | 
|---|
| 65 | WORD      cPlanes; | 
|---|
| 66 | WORD      cBitCount; | 
|---|
| 67 | DWORD     ulCompression; | 
|---|
| 68 | DWORD     cbImage; | 
|---|
| 69 | DWORD     cxResolution; | 
|---|
| 70 | DWORD     cyResolution; | 
|---|
| 71 | DWORD     cclrUsed; | 
|---|
| 72 | DWORD     cclrImportant; | 
|---|
| 73 | WORD      usUnits; | 
|---|
| 74 | WORD      usReserved; | 
|---|
| 75 | WORD      usRecording; | 
|---|
| 76 | WORD      usRendering; | 
|---|
| 77 | DWORD     cSize1; | 
|---|
| 78 | DWORD     cSize2; | 
|---|
| 79 | DWORD     ulColorEncoding; | 
|---|
| 80 | DWORD     ulIdentifier; | 
|---|
| 81 | } OSLIB_BITMAPINFOHEADER2, *POSLIB_BITMAPINFOHEADER2; | 
|---|
| 82 | #pragma pack() | 
|---|
| 83 |  | 
|---|
| 84 | #define OSLIB_CFI_OWNERFREE             0x0001 | 
|---|
| 85 | #define OSLIB_CFI_OWNERDISPLAY          0x0002 | 
|---|
| 86 | #define OSLIB_CFI_HANDLE                0x0200 | 
|---|
| 87 | #define OSLIB_CFI_POINTER               0x0400 | 
|---|
| 88 |  | 
|---|
| 89 | #define OSLIB_PAG_READ                  0x0001 | 
|---|
| 90 | #define OSLIB_PAG_WRITE                 0x0002 | 
|---|
| 91 | #define OSLIB_PAG_EXECUTE               0x0004 | 
|---|
| 92 | #define OSLIB_PAG_GUARD                 0x0008 | 
|---|
| 93 | #define OSLIB_PAG_COMMIT                0x0010 | 
|---|
| 94 | #define OSLIB_PAG_DECOMMIT              0x0020 | 
|---|
| 95 | #define OSLIB_OBJ_TILE                  0x0040 | 
|---|
| 96 | #define OSLIB_OBJ_PROTECTED             0x0080 | 
|---|
| 97 | #define OSLIB_OBJ_GETTABLE              0x0100 | 
|---|
| 98 | #define OSLIB_OBJ_GIVEABLE              0x0200 | 
|---|
| 99 | #define OSLIB_PAG_DEFAULT               0x0400 | 
|---|
| 100 | #define OSLIB_PAG_SHARED                0x2000 | 
|---|
| 101 | #define OSLIB_PAG_FREE                  0x4000 | 
|---|
| 102 | #define OSLIB_PAG_BASE              0x00010000 | 
|---|
| 103 |  | 
|---|
| 104 |  | 
|---|
| 105 | HANDLE  OSLibClipboardPMBitmapDuplicate(HANDLE hbmp); | 
|---|
| 106 | void    OSLibClipboardPMBitmapDelete(HANDLE hbmp); | 
|---|
| 107 | HANDLE  OSLibClipboardPMPaletteDuplicate(HANDLE hpal); | 
|---|
| 108 | void    OSLibClipboardPMPaletteDelete(HANDLE hpal); | 
|---|
| 109 |  | 
|---|
| 110 | BOOL    OSLib_OpenClipbrd(HANDLE hab, HWND hwndOpenWindow); | 
|---|
| 111 | HWND    OSLibWin32QueryOpenClipbrdWindow(void); | 
|---|
| 112 | BOOL    OSLibWinEmptyClipbrd(HANDLE hab); | 
|---|
| 113 | BOOL    OSLibWinSetClipbrdOwner(HANDLE hab, HWND hwndOwner); | 
|---|
| 114 | HWND    OSLibWinQueryClipbrdOwner(HANDLE hab); | 
|---|
| 115 | HWND    OSLibWin32QueryClipbrdViewerChain(void); | 
|---|
| 116 | BOOL    OSLibWin32AddClipbrdViewer(HWND hwndNewViewer); | 
|---|
| 117 | BOOL    OSLibWin32RemoveClipbrdViewer(HWND hwndRemove); | 
|---|
| 118 | BOOL    OSLibWinQueryClipbrdFmtInfo(HANDLE hab, ULONG ulFormat, PULONG pfl); | 
|---|
| 119 | BOOL    OSLibWinSetClipbrdData(HANDLE hab, ULONG ulData, ULONG ulFormat, ULONG ulFlags); | 
|---|
| 120 | ULONG   OSLibWinQueryClipbrdData(HANDLE hab, ULONG ulFormat); | 
|---|
| 121 | BOOL    OSLibWinCloseClipbrd(HANDLE hab); | 
|---|
| 122 |  | 
|---|
| 123 | ULONG   OSLibWinEnumClipbrdFmts(HANDLE hab, ULONG b); | 
|---|
| 124 | ULONG   OSLibWinAddAtom(HANDLE hAtomTable, const char *pszAtomName); | 
|---|
| 125 | ULONG   OSLibWinQueryAtomName(HANDLE hAtomTable, ULONG ulFormat, char *pszNameBuf, ULONG cchNameBuf); | 
|---|
| 126 | HANDLE  OSLibWinQuerySystemAtomTable(void); | 
|---|
| 127 |  | 
|---|
| 128 | ULONG   OSLibWinSetErrorInfo(ULONG ulError, ULONG ulFlags, ...); | 
|---|
| 129 |  | 
|---|
| 130 | ULONG   OSLibDosAllocSharedMem(void **pv, const char *psz, ULONG cb, ULONG flFlags); | 
|---|
| 131 | ULONG   OSLibDosFreeMem(void *); | 
|---|
| 132 | ULONG   OSLibDosQueryMem(PVOID pvAddr, PULONG pcb, PULONG pfl); | 
|---|
| 133 |  | 
|---|
| 134 | #endif | 
|---|