reactos/sdk/lib/3rdparty/cardlib/cardlib.h

111 lines
2.8 KiB
C++

#ifndef CARDLIB_INCLUDED
#define CARDLIB_INCLUDED
#include <stdarg.h>
#include <stdlib.h>
#define WIN32_NO_STATUS
#include <windef.h>
#include <winbase.h>
#include <wingdi.h>
#include <winuser.h>
#define CARDLIBPROC __stdcall
void CardBlt(HDC hdc, int x, int y, int nCardNum);
void CardLib_SetZoomSpeed(int);
#define CS_EI_NONE 0
#define CS_EI_SUNK 1
#define CS_EI_CIRC 67
#define CS_EI_X 66
#define CS_DEFXOFF 12 //x-offset
#define CS_DEFYOFF 18 //y-offset
#define CS_NO3D 1 //default 3d counts (recommened)
#define CS_DEF3D 10 //(best for decks)
#define CS_DRAG_NONE 0
#define CS_DRAG_TOP 1
#define CS_DRAG_ALL 2
#define CS_DRAG_CALLBACK 3
#define CS_DROP_NONE 0
#define CS_DROP_ALL 1
#define CS_DROP_CALLBACK 2
#define CS_XJUST_NONE 0
#define CS_XJUST_RIGHT 1
#define CS_XJUST_CENTER 2
#define CS_YJUST_NONE 0
#define CS_YJUST_BOTTOM 1
#define CS_YJUST_CENTER 2
#define CB_STATIC 0 //static text label
#define CB_PUSHBUTTON 1 //normal button
#define CB_ALIGN_CENTER 0 //centered is default
#define CB_ALIGN_LEFT 2
#define CB_ALIGN_RIGHT 4
#define CS_FACE_UP 0 //all cards face-up
#define CS_FACE_DOWN 1 //all cards face-down
#define CS_FACE_DOWNUP 2 //bottom X cards down, top-most face-up
#define CS_FACE_UPDOWN 3 //bottom X cards up, top-most face-down
#define CS_FACE_ANY 4 //cards can be any orientation
#define CS_DROPZONE_NODROP -1
//
// Define the standard card-back indices
//
#define ecbCROSSHATCH 53
#define ecbWEAVE1 54
#define ecbWEAVE2 55
#define ecbROBOT 56
#define ecbFLOWERS 57
#define ecbVINE1 58
#define ecbVINE2 59
#define ecbFISH1 60
#define ecbFISH2 61
#define ecbSHELLS 62
#define ecbCASTLE 63
#define ecbISLAND 64
#define ecbCARDHAND 65
#define ecbUNUSED 66
#define ecbTHE_X 67
#define ecbTHE_O 68
class CardRegion;
class CardButton;
class CardStack;
class CardWindow;
typedef bool (CARDLIBPROC *pCanDragProc) (CardRegion &stackobj, int iNumDragging);
typedef bool (CARDLIBPROC *pCanDropProc) (CardRegion &stackobj, CardStack &cards);
typedef void (CARDLIBPROC *pClickProc) (CardRegion &stackobj, int iNumCards);
typedef void (CARDLIBPROC *pAddProc) (CardRegion &stackobj, const CardStack &cards);
typedef void (CARDLIBPROC *pRemoveProc) (CardRegion &stackobj, int iNumRemoved);
typedef void (CARDLIBPROC *pResizeWndProc) (int width, int height);
typedef int (CARDLIBPROC *pDropZoneProc) (int dzid, const CardStack &cards);
typedef void (CARDLIBPROC *pButtonProc) (CardButton &pButton);
#include "globals.h"
#include "card.h"
#include "cardbutton.h"
#include "cardcolor.h"
#include "cardstack.h"
#include "cardregion.h"
#include "dropzone.h"
#include "cardwindow.h"
#ifdef _DEBUG
typedef bool (CARDLIBPROC *pDebugClickProc) (CardRegion &stackobj);
void CardLib_SetStackClickProc(pDebugClickProc proc);
#endif
#endif /* CARDLIB_INCLUDED */