Pillow/libImaging/ImDib.h
nu774 2be12dec2b Don't use int to handle type
Couldn't accept handle values greater than 0x7FFFFFFF, which wasn't enough even on 32bit system, and completely wrong for 64bit.
2015-10-01 14:54:32 +01:00

58 lines
1.2 KiB
C

/*
* The Python Imaging Library
* $Id$
*
* Windows DIB specifics
*
* Copyright (c) Secret Labs AB 1997-98.
* Copyright (c) Fredrik Lundh 1996.
*
* See the README file for information on usage and redistribution.
*/
#ifdef _WIN32
#include "ImPlatform.h"
#if defined(__cplusplus)
extern "C" {
#endif
struct ImagingDIBInstance {
/* Windows interface */
HDC dc;
HBITMAP bitmap;
HGDIOBJ old_bitmap;
BITMAPINFO *info;
UINT8 *bits;
HPALETTE palette;
/* Used by cut and paste */
char mode[4];
int xsize, ysize;
int pixelsize;
int linesize;
ImagingShuffler pack;
ImagingShuffler unpack;
};
typedef struct ImagingDIBInstance* ImagingDIB;
extern char* ImagingGetModeDIB(int size_out[2]);
extern ImagingDIB ImagingNewDIB(const char *mode, int xsize, int ysize);
extern void ImagingDeleteDIB(ImagingDIB im);
extern void ImagingDrawDIB(ImagingDIB dib, void *dc, int dst[4], int src[4]);
extern void ImagingExposeDIB(ImagingDIB dib, void *dc);
extern int ImagingQueryPaletteDIB(ImagingDIB dib, void *dc);
extern void ImagingPasteDIB(ImagingDIB dib, Imaging im, int xy[4]);
#if defined(__cplusplus)
}
#endif
#endif