summaryrefslogtreecommitdiffstats
path: root/private/mvdm/wow32/wreldc.h
blob: 1d03457f54ad699ddac6c145507b853d4a05b9d0 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
//*****************************************************************************
//
// DC Cacheing - header file
//
//     Support for misbehaved apps - which continue to use a DC that has been
//     Released. Well the problem is WIN30 allows it, so we need to be
//     compatible.
//
//
// 03-Feb-92  NanduriR   Created.
//
//*****************************************************************************


typedef struct _DCCACHE{
    struct _DCCACHE FAR *lpNext;
    BYTE   flState;
    HAND16 htask16;
    HAND16 hwnd16;
    HDC16  hdc16;
    HWND   hwnd32;
} DCCACHE, FAR *LPDCCACHE;


extern INT  iReleasedDCs;

#define CACHENOTEMPTY() (BOOL)(iReleasedDCs)

#define DCCACHE_STATE_INUSE        0x0001
#define DCCACHE_STATE_RELPENDING   0x0002

#define SRCHDC_TASK16_HWND16 0x0001
#define SRCHDC_TASK16_HWND32 0x0002
#define SRCHDC_TASK16        0x0004

BOOL ReleaseCachedDCs(HAND16 htask16, HAND16 hwnd16, HAND16 hdc16,
                            HWND hwnd32, UINT flSearch);
BOOL StoreDC(HAND16 htask16, HAND16 hwnd16, HAND16 hdc16);
BOOL CacheReleasedDC(HAND16 htask16, HAND16 hwnd16, HAND16 hdc16);
BOOL FreeCachedDCs(HAND16 htask16);