620 int numvisiblestacks = 0;
639 for(
i = startindex;
i < startindex + nNumStacks;
i++)
650 viswidth += xSpacing * (numvisiblestacks - 1);
653 for(
i = startindex;
i < startindex + nNumStacks;
i++)
667 nStartX -= ((numvisiblestacks + xSpacing) *
__cardwidth - xSpacing);
672 for(
i = startindex;
i < startindex + nNumStacks;
i++)
709 cols[0] =
RGB(0, 0, 0);
710 cols[1] =
RGB(255, 255, 255);
730 if(uBackIdx >= 52 && uBackIdx <= 68)
CardButton * CardButtonFromPoint(int x, int y)
int WINAPI CombineRgn(_In_opt_ HRGN hrgnDest, _In_opt_ HRGN hrgnSrc1, _In_opt_ HRGN hrgnSrc2, _In_ int fnCombineMode)
HPALETTE CreateCardPalette()
void(CARDLIBPROC * pResizeWndProc)(int width, int height)
GLint GLint GLsizei width
#define MAKE_PALETTERGB(colref)
int WINAPI FillRgn(_In_ HDC, _In_ HRGN, _In_ HBRUSH)
CardRegion * CardRegionFromId(int id)
int WINAPI SelectClipRgn(_In_ HDC, _In_opt_ HRGN)
COLORREF ColorScaleRGB(const COLORREF Col1, const COLORREF Col2, const double Ratio)
static TCHAR szCardName[]
bool IsPointInStack(int x, int y)
HDC WINAPI GetDC(_In_opt_ HWND)
BOOL Create(HWND hwndParent, DWORD dwExStyle, DWORD dwStyle, int x, int y, int width, int height)
bool DeleteButton(CardButton *pButton)
BOOL WINAPI UpdateWindow(_In_ HWND)
DWORD WINAPI GetTickCount(VOID)
void __cdecl srand(_In_ unsigned int _Seed)
void GetSinkCols(COLORREF crBase, COLORREF *fg, COLORREF *bg, COLORREF *sh1, COLORREF *sh2)
bool OnLButtonUp(int x, int y)
HGDIOBJ WINAPI SelectObject(_In_ HDC, _In_ HGDIOBJ)
BOOL WINAPI DeleteObject(_In_ HGDIOBJ)
HDC WINAPI CreateCompatibleDC(_In_opt_ HDC hdc)
void SetBackColor(COLORREF cr)
BOOL WINAPI EndPaint(_In_ HWND, _In_ const PAINTSTRUCT *)
BOOL WINAPI DestroyWindow(_In_ HWND)
static VOID NTAPI BitBlt(IN ULONG Left, IN ULONG Top, IN ULONG Width, IN ULONG Height, IN PUCHAR Buffer, IN ULONG BitsPerPixel, IN ULONG Delta)
bool OnMouseMove(int x, int y)
unsigned short(__cdecl typeof(TIFFCurrentDirectory))(struct tiff *)
void PaintCardRgn(HDC hdc, int dx, int dy, int width, int height, int sx, int sy)
void PaintRect(HDC hdc, RECT *rect, COLORREF colour)
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
CardRegion * CardRegionFromPoint(int x, int y)
bool DistributeStacks(int nIdFrom, int nNumStacks, UINT xJustify, int xSpacing, int nStartX)
HDC WINAPI BeginPaint(_In_ HWND, _Out_ LPPAINTSTRUCT)
int WINAPI ReleaseDC(_In_opt_ HWND, _In_ HDC)
HPALETTE WINAPI SelectPalette(_In_ HDC, _In_ HPALETTE, _In_ BOOL)
bool DeleteRegion(CardRegion *pRegion)
DropZone * dropzone[MAXDROPZONES]
bool OnLButtonDblClk(int x, int y)
void RestorePalette(HDC hdc, HPALETTE hOldPal)
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint GLint GLint j
HRGN WINAPI CreateRectRgn(_In_ int, _In_ int, _In_ int, _In_ int)
CardButton * CardButtonFromId(int id)
HBITMAP CreateSinkBmp(HDC hdcCompat, HDC hdc, COLORREF col, int width, int height)
HPALETTE UseNicePalette(HDC hdc, HPALETTE hPalette)
bool OnLButtonDown(int x, int y)
BOOL WINAPI InvalidateRect(_In_opt_ HWND, _In_opt_ LPCRECT, _In_ BOOL)
CardButton * Buttons[MAXBUTTONS]
static LRESULT CALLBACK CardWndProc(HWND hwnd, UINT iMsg, WPARAM wParam, LPARAM lParam)
#define InterlockedDecrement
CardRegion * Regions[MAXCARDSTACKS]
static LONG uCardBitmapRef
GLint GLint GLsizei GLsizei height
void SetBackImage(HBITMAP hBitmap)
void SetBackCardIdx(UINT uBackIdx)
BOOL WINAPI GetClientRect(_In_ HWND, _Out_ LPRECT)
BOOL WINAPI SetRect(_Out_ LPRECT, _In_ int, _In_ int, _In_ int, _In_ int)
#define InterlockedIncrement
BOOL WINAPI DeleteDC(_In_ HDC)
void RegisterCardWindow()
#define PALETTERGB(r, g, b)
pResizeWndProc ResizeWndCallback
void AdjustPosition(int winwidth, int winheight)
HBRUSH WINAPI CreateSolidBrush(_In_ COLORREF)
HPALETTE MakePaletteFromCols(COLORREF cols[], int nNumColours)
BOOL WINAPI PtInRect(_In_ LPCRECT, _In_ POINT)
void SetBackColor(COLORREF cr)
void ClickRelease(int x, int y)
int WINAPI GetClipRgn(_In_ HDC, _In_ HRGN)
int WINAPI FillRect(HDC, LPCRECT, HBRUSH)
friend void RegisterCardWindow()
UINT WINAPI RealizePalette(_In_ HDC)
void SetResizeProc(pResizeWndProc proc)
LRESULT CALLBACK WndProc(HWND hwnd, UINT iMsg, WPARAM wParam, LPARAM lParam)