home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Perfect 10 Bikini Contest
/
Perfect_10_Bikini_Contest.iso
/
bikini
/
bikini.h
< prev
next >
Wrap
C/C++ Source or Header
|
1994-02-09
|
7KB
|
213 lines
/*-----------------------
BIKINI.H header file
-----------------------*/
#include "stdlib.h"
#define MAXCATEGORY 5 // Maximum # categories for judging
#define TOTALCATEGORY 30 // Total # of categories
#define NUMCONTESTANT 11 // Total number of contestants
#define NAMESIZE 12 // Maximum # chars in contestant name
#define CATNAMESIZE 12 // Maximum # chars in category name
#define MINSCORE (BYTE) 1 // Minimum score in a category
#define MAXSCORE (BYTE) 10 // Maximum score in a category
#define NUMPLACES 3 // Number of winning places (1st, 2nd, 3rd)
#define IN TRUE // Arrow pressed state
#define OUT FALSE // Arrow not pressed state
#define NOTBUTTON 0 // 3-D rect draw flag for non-button
#define BUTTON 1 // 3-D rect draw flag for button
#define ENABLED 1 // Arrow enabled state flag
#define DOWN 2 // Arrow pressed state flag
#define SELECTED 4 // Arrow selected state flag
#define WM_XSCREEN (WM_USER+100) // Change screen user defined message
#define WM_NEWCONTESTANT (WM_USER+101) // Change contestant user defined message
#define WM_XSIZE (WM_USER+102) // Change video window size user defined message
// rectangle typedef for ease in using ScreenToClient & ClientToScreen translations //
typedef struct
{
POINT LeftTop ;
POINT RightBottom ;
} MYRECT ;
// structure containing data for initializing windows
typedef struct
{
DWORD Style ;
int Width ;
int Height ;
} WINDAT ;
// structure containing data for pens
typedef struct
{
int Style ;
int Width ;
COLORREF Clrref ;
HPEN hPen ;
} MYPEN ;
// structure containing data for arrow regions
typedef struct
{
int NumPts ;
LPPOINT Pts ;
} MYRGN ;
// structure containing data for fonts
typedef struct
{
int Height ;
int Weight ;
BYTE Face[LF_FACESIZE] ;
HFONT hFont ;
} MYFONT ;
// structure containing score data for contestants
typedef struct
{
int ContestantNum ;
float Score ;
BYTE ScoreTxt[6] ;
} WINNER ;
// exported function prototypes for MAIN.C
int FAR PASCAL _export DoMsg (HWND, WORD) ;
BOOL FAR PASCAL _export MsgDlgProc (HWND, UINT, UINT, LONG) ;
// exported function prototypes for SPLASH.C
void FAR PASCAL _export InitSplash (void) ;
void FAR PASCAL _export FreeSplash (void) ;
long FAR PASCAL _export SplashWndProc (HWND, UINT, UINT, LONG) ;
// exported function prototypes for CAT.C
void FAR PASCAL _export InitCat (void) ;
void FAR PASCAL _export FreeCat (void) ;
long FAR PASCAL _export CatWndProc (HWND, UINT, UINT, LONG) ;
long FAR PASCAL _export HlpWndProc (HWND, UINT, UINT, LONG) ;
// exported function prototypes for JUDGE.C
void FAR PASCAL _export InitJudge (void) ;
void FAR PASCAL _export FreeJudge (void) ;
long FAR PASCAL _export JudgeWndProc (HWND, UINT, UINT, LONG) ;
float FAR PASCAL _export GetAverageScore (int,
BYTE (FAR* aScores)[TOTALCATEGORY], char *) ;
HWND FAR PASCAL _export CreateVideoWindow (HWND, HANDLE, DWORD) ;
void FAR PASCAL _export DoOpenVideo (HWND, LPSTR, HPALETTE) ;
long FAR PASCAL _export MCIWndProc (HWND, UINT, UINT, LONG) ;
// exported function prototypes for WINNER.C
void FAR PASCAL _export InitWinner (void) ;
void FAR PASCAL _export FreeWinner (void) ;
long FAR PASCAL _export WinnerWndProc (HWND, UINT, UINT, LONG) ;
void GetTop3 (BYTE (FAR* aScores)[TOTALCATEGORY], WINNER Top3[NUMPLACES]) ;
// exported function prototypes for UTIL.C
HANDLE FAR PASCAL _export GetDIB (LPSTR) ;
HPALETTE FAR PASCAL _export CreateDIBPalette (HANDLE) ;
HBITMAP FAR PASCAL _export DIBToBitmap (HANDLE, HPALETTE) ;
void FAR PASCAL _export DDBPaint (HDC, LPRECT, HBITMAP, LPRECT, HPALETTE,
HBRUSH, DWORD) ;
POINT FAR PASCAL _export PosWin (HWND, HWND, int, int) ;
POINT FAR PASCAL _export PosChildWin (HWND, HWND, float, float) ;
void FAR PASCAL _export PosRect (RECT, LPRECT, int, int) ;
void FAR PASCAL _export DrawOwnerButton (HWND, int, int, int, int, int, int,
BOOL, COLORREF, HBITMAP, int, int,
int, int, char *, LPDRAWITEMSTRUCT,
HPALETTE) ;
void FAR PASCAL _export DrawTextButton (HWND, int, int, LPSTR, LPDRAWITEMSTRUCT) ;
void FAR PASCAL _export ThreeDRect (HWND, LPRECT, HPEN, HPEN, HPALETTE, int, BOOL);
void FAR PASCAL _export ThreeDArrow (HWND, LPPOINT, HPEN, HPEN, HPALETTE, BOOL) ;
void FAR PASCAL _export RectText (HWND, HFONT, LPRECT, int, int, COLORREF, LPSTR) ;
void FAR PASCAL _export ThreeDFrame (HWND, LPRECT, HPEN, HPEN, HPEN, HPALETTE);
// exported function prototypes for ERRORS.C
void FAR PASCAL _export DIBError (int) ;
// Global variables
// window numbers
#define SPLASHWIN 0
#define CATWIN 1
#define JUDGEWIN 2
#define WINNERWIN 3
#define NUMWNDCLASS 4
#define VIDWIN 4
#define NUMWINDOW 5
// window styles and sizes
#define SPLASHWINSTYLE WS_POPUP | WS_BORDER | WS_THICKFRAME
#define SPLASHWIDTH 640
#define SPLASHHEIGHT 480
#define CATWINSTYLE WS_POPUP | WS_BORDER | WS_THICKFRAME
#define CATWIDTH 640
#define CATHEIGHT 480
#define JUDGEWINSTYLE WS_POPUP | WS_BORDER | WS_THICKFRAME
#define JUDGEWIDTH 640
#define JUDGEHEIGHT 480
#define WINNERWINSTYLE WS_POPUP | WS_BORDER | WS_THICKFRAME
#define WINNERWIDTH 640
#define WINNERHEIGHT 480
#define VIDEOWINSTYLE WS_CHILD | WS_VISIBLE
#define VIDEOWINID 2001
// bitmap numbers
#define SATINDIB 0
#define BUTTONDIB 1
#define LOGODIB 2
#define WINNERDIB1 3
#define SHERRYDIB WINNERDIB1
#define JEANNIEDIB (WINNERDIB + 1)
#define DOTTIEDIB (WINNERDIB + 2)
#define CHANELDIB (WINNERDIB + 3)
#define MELINDADIB (WINNERDIB + 4)
#define LAURENDIB (WINNERDIB + 5)
#define JAMIEDIB (WINNERDIB + 6)
#define CHERRYPIEDIB (WINNERDIB + 7)
#define TIFFANYDIB (WINNERDIB + 8)
#define PAMELADIB (WINNERDIB + 9)
#define MICHELLEDIB (WINNERDIB + 10)
#define NUMDIB 14
char * WindowClasses[NUMWNDCLASS] ;
char DibFileNames[NUMDIB][_MAX_PATH] ;
HWND BikiniWins[NUMWINDOW], hwndMCI ;
char ContestFileNames[NUMCONTESTANT][_MAX_PATH] ;
char szAppName[10], Names[NUMCONTESTANT][NAMESIZE+1],
CatNames[TOTALCATEGORY][CATNAMESIZE+1] ;
BYTE JudgeScores[NUMCONTESTANT][TOTALCATEGORY],
Scores[NUMCONTESTANT][TOTALCATEGORY],
CurrCategory[MAXCATEGORY] ;
int NumCategory, CurrContestant, Rez ;
HANDLE hInst ;
WORD CurrDeviceID ;
BOOL Playing ;
HPALETTE hPalBikini ;
HPEN hPenLt1, hPenMed1, hPenDk1, hPenDk2 ;
HBITMAP hbmBack, hbmButtons ;
LOGFONT lf ;
FARPROC lpfnMCIWndProc, lpfnOldMCIWndProc ;