36 lines
1.4 KiB
C
36 lines
1.4 KiB
C
|
//-------------------------------------------------------------------------
|
||
|
// TmUtils.h - theme manager shared utilities
|
||
|
//-------------------------------------------------------------------------
|
||
|
#pragma once
|
||
|
//-------------------------------------------------------------------------
|
||
|
#define DIBDATA(infohdr) (((BYTE *)(infohdr)) + infohdr->biSize + \
|
||
|
infohdr->biClrUsed*sizeof(RGBQUAD))
|
||
|
|
||
|
#define THEME_OFFSET(x) int(x - _LoadingThemeFile._pbThemeData)
|
||
|
#define THEMEFILE_OFFSET(x) int(x - pThemeFile->_pbThemeData)
|
||
|
//------------------------------------------------------------------------------------
|
||
|
class CBitmapPixels
|
||
|
{
|
||
|
public:
|
||
|
CBitmapPixels();
|
||
|
~CBitmapPixels();
|
||
|
|
||
|
//---- "OpenBitmap()" returns a ptr to pixel values in bitmap. ----
|
||
|
//---- Rows go from bottom to top; Colums go from left to right. ----
|
||
|
//---- IMPORTANT: pixel DWORDS have RGB bytes reversed from COLORREF ----
|
||
|
HRESULT OpenBitmap(HDC hdc, HBITMAP bitmap, BOOL fForceRGB32,
|
||
|
DWORD OUT **pPixels, OPTIONAL OUT int *piWidth=NULL, OPTIONAL OUT int *piHeight=NULL,
|
||
|
OPTIONAL OUT int *piBytesPerPixel=NULL, OPTIONAL OUT int *piBytesPerRow=NULL);
|
||
|
|
||
|
void CloseBitmap(HDC hdc, HBITMAP hBitmap);
|
||
|
|
||
|
//---- public data ----
|
||
|
BITMAPINFOHEADER *_hdrBitmap;
|
||
|
|
||
|
protected:
|
||
|
//---- private data ----
|
||
|
int _iWidth;
|
||
|
int _iHeight;
|
||
|
};
|
||
|
//------------------------------------------------------------------------------------
|