133 int overlap = wi * hi;
136 int percent = (overlap << 16) /
total;
137 return (percent * 100) >> 16;
324 if(
count <= 0)
return;
386 if(uBackIdx >= 52 && uBackIdx <= 68)
422 cards[
i].SetFaceUp(
true);
431 cards[
i].SetFaceUp(
false);
442 for(
i = 0;
i <
n;
i++)
444 cards[
num -
i - 1].SetFaceUp(
false);
449 cards[
num -
i - 1].SetFaceUp(
true);
459 for(
i = 0;
i <
n;
i++)
461 cards[
num -
i - 1].SetFaceUp(
true);
466 cards[
num -
i - 1].SetFaceUp(
false);
483 if(pDestStack == 0)
return false;
pClickProc DblClickCallback
GLint GLint GLsizei width
bool(CARDLIBPROC * pCanDropProc)(CardRegion &stackobj, CardStack &cards)
void SetFaceDirection(UINT uDirType, int nOption)
void(CARDLIBPROC * pClickProc)(CardRegion &stackobj, int iNumCards)
GLubyte GLubyte GLubyte GLubyte w
pRemoveProc RemoveCallback
bool MoveCard(CardRegion *pDestStack, int nNumCards, bool fAnimate)
HDC WINAPI GetDC(_In_opt_ HWND)
const CardStack & GetCardStack()
void SetClickReleaseProc(pClickProc proc)
GLuint GLuint GLsizei count
void PaintRect(HDC hdc, RECT *rect, COLORREF colour)
void Push(const Card card)
void SetPlacement(UINT xJustify, UINT yJustify, int xAdjust, int yAdjust)
Card RemoveCard(size_t index)
GLint GLint GLint GLint GLint x
pClickProc ClickReleaseCallback
bool SimulateDrag(CardRegion *pDestStack, int nNumCards, bool fAnimate)
GLint GLint GLint yoffset
void Flash(int count, int timeout)
GLfloat GLfloat GLfloat GLfloat h
CardRegion(CardWindow &parent, int id, bool fVisible, int x, int y, int xOffset, int yOffset)
void SetDblClickProc(pClickProc proc)
pCanDropProc CanDropCallback
void SetEmptyImage(UINT uImage)
DWORD WINAPI WaitForSingleObject(IN HANDLE hHandle, IN DWORD dwMilliseconds)
HBITMAP CreateSinkBmp(HDC hdcCompat, HDC hdc, int width, int height)
void UpdateFaceDir(CardStack &cards)
bool SetThreedCount(int count)
int WINAPI ReleaseDC(_In_opt_ HWND, _In_ HDC)
REFIID LPVOID DWORD_PTR dw
bool SetDragRule(UINT uDragType, pCanDragProc proc=0)
int GetOverlapRatio(int x, int y, int width, int height)
UINT_PTR WINAPI SetTimer(_In_opt_ HWND, _In_ UINT_PTR, _In_ UINT, _In_opt_ TIMERPROC)
void(CARDLIBPROC * pAddProc)(CardRegion &stackobj, const CardStack &cards)
void SetPos(int x, int y)
bool PlayCard(CardRegion *pDestStack, int value, int num)
CardRegion * CreateRegion(int id, bool fVisible, int x, int y, int xoffset, int yoffset)
void ZoomCard(HDC hdc, int xpos, int ypos, CardRegion *dest)
bool CanDropCards(CardStack &cards)
void SetClickProc(pClickProc proc)
void RedrawIfNotDim(CardRegion *compare, bool fFullRedraw)
BOOL WINAPI DECLSPEC_HOTPATCH ReleaseMutex(IN HANDLE hMutex)
BOOL WINAPI KillTimer(_In_opt_ HWND, _In_ UINT_PTR)
void(CARDLIBPROC * pRemoveProc)(CardRegion &stackobj, int iNumRemoved)
CardRegion * Regions[MAXCARDSTACKS]
GLsizei const GLfloat * value
void SetCardStack(const CardStack &cs)
BOOL WINAPI IntersectRect(_Out_ LPRECT, _In_ LPCRECT, _In_ LPCRECT)
GLint GLint GLsizei GLsizei height
void SetOffsets(int x, int y)
void ReleaseDragBitmaps(void)
BOOL WINAPI SetRect(_Out_ LPRECT, _In_ int, _In_ int, _In_ int, _In_ int)
void SetBackCardIdx(UINT uBackIdx)
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
void AdjustPosition(int winwidth, int winheight)
GLint GLint GLint GLint GLint GLint y
void SetAddCardProc(pAddProc proc)
pCanDragProc CanDragCallback
void SetRemoveCardProc(pRemoveProc proc)
void SetBackColor(COLORREF cr)
bool SetDropRule(UINT uDropType, pCanDropProc proc=0)
UINT GetFaceDirection(int *pnOption)
void PrepareDragBitmaps(int numtodrag)
bool CanDragCards(int iNumCards)