Pillow/libImaging/ImDib.h
Nicolas F 052ea606bf Clean up defines and includes for Windows
1)  Renamed USE_INLINE to PIL_USE_INLINE to avoid conflicts with
    other headers/libraries.

2)  Replace __WIN32__ and WIN32 with _WIN32

3)  Don't define WIN32 when the compiler is MSVC but not on Windows
    Why would you even...

4)  Don't define strcasecmp if you're not even going to use it.

5)  Don't include Windows.h with undefs for compilers newer than
    1998 everywhere.

6)  Don't surpress warnings for MSVC++ 4.0. People still using
    MSVC++ 4.0 deserve it.

7)  Don't include things that are already included in Windows.h
2014-05-09 21:05:30 +02:00

58 lines
1.1 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, int dc, int dst[4], int src[4]);
extern void ImagingExposeDIB(ImagingDIB dib, int dc);
extern int ImagingQueryPaletteDIB(ImagingDIB dib, int dc);
extern void ImagingPasteDIB(ImagingDIB dib, Imaging im, int xy[4]);
#if defined(__cplusplus)
}
#endif
#endif