Moved the first couple of files from 'geos-cbm' to 'geos-common' which are believed to work as-is on Apple GEOS too.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5435 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
85
libsrc/geos-common/dlgbox/messagebox.c
Normal file
85
libsrc/geos-common/dlgbox/messagebox.c
Normal file
@@ -0,0 +1,85 @@
|
||||
|
||||
/*
|
||||
* char MessageBox (char mode, const char *format, ...)
|
||||
*
|
||||
* Maciej 'YTM/Elysium' Witkowiak, 17.08.2003
|
||||
*
|
||||
*/
|
||||
|
||||
#include <geos.h>
|
||||
#include <stdio.h>
|
||||
|
||||
void _mbprintout(void);
|
||||
|
||||
static dlgBoxStr _mbdlg_EMPTY = {
|
||||
DB_DEFPOS(1),
|
||||
DB_OPVEC(&RstrFrmDialogue),
|
||||
DB_USRROUT(&_mbprintout),
|
||||
DB_END,
|
||||
};
|
||||
|
||||
static dlgBoxStr _mbdlg_OK = {
|
||||
DB_DEFPOS(1),
|
||||
DB_USRROUT(&_mbprintout),
|
||||
DB_ICON(OK, DBI_X_1, DBI_Y_2),
|
||||
DB_END,
|
||||
};
|
||||
|
||||
static dlgBoxStr _mbdlg_OKCANCEL = {
|
||||
DB_DEFPOS(1),
|
||||
DB_USRROUT(&_mbprintout),
|
||||
DB_ICON(OK, DBI_X_0, DBI_Y_2),
|
||||
DB_ICON(CANCEL, DBI_X_2, DBI_Y_2),
|
||||
DB_END,
|
||||
};
|
||||
|
||||
static dlgBoxStr _mbdlg_YESNO = {
|
||||
DB_DEFPOS(1),
|
||||
DB_USRROUT(&_mbprintout),
|
||||
DB_ICON(YES, DBI_X_0, DBI_Y_2),
|
||||
DB_ICON(NO, DBI_X_2, DBI_Y_2),
|
||||
DB_END,
|
||||
};
|
||||
|
||||
static dlgBoxStr *_mbboxes[] = {
|
||||
&_mbdlg_EMPTY,
|
||||
&_mbdlg_OK,
|
||||
&_mbdlg_OKCANCEL,
|
||||
&_mbdlg_YESNO
|
||||
};
|
||||
|
||||
static char _mbbuffer[256];
|
||||
|
||||
char MessageBox(char mode, const char *format, ...)
|
||||
{
|
||||
register char *buf;
|
||||
va_list ap;
|
||||
|
||||
/* first format out things */
|
||||
va_start(ap, format);
|
||||
vsprintf(_mbbuffer, format, ap);
|
||||
va_end(ap);
|
||||
|
||||
/* replace LFs by CRs */
|
||||
buf = &_mbbuffer[0];
|
||||
while (*buf) {
|
||||
if (*buf==LF) *buf=CR;
|
||||
++buf;
|
||||
}
|
||||
|
||||
/* validate mode */
|
||||
if (mode>=MB_LAST)
|
||||
mode = MB_EMPTY;
|
||||
|
||||
return DoDlgBox(_mbboxes[mode]);
|
||||
}
|
||||
|
||||
void _mbprintout(void)
|
||||
{
|
||||
UseSystemFont();
|
||||
curWindow.top = DEF_DB_TOP;
|
||||
curWindow.left = DEF_DB_LEFT+10;
|
||||
curWindow.right = DEF_DB_RIGHT-10;
|
||||
curWindow.bot = DEF_DB_BOT;
|
||||
PutString(_mbbuffer, DEF_DB_TOP+10+curFontDesc.height, DEF_DB_LEFT+10 );
|
||||
}
|
||||
Reference in New Issue
Block a user