74 lines
3.2 KiB
C
Raw Permalink Normal View History

/*
** Command & Conquer Generals Zero Hour(tm)
** Copyright 2025 Electronic Arts Inc.
**
** This program is free software: you can redistribute it and/or modify
** it under the terms of the GNU General Public License as published by
** the Free Software Foundation, either version 3 of the License, or
** (at your option) any later version.
**
** This program is distributed in the hope that it will be useful,
** but WITHOUT ANY WARRANTY; without even the implied warranty of
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
** GNU General Public License for more details.
**
** You should have received a copy of the GNU General Public License
** along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
////////////////////////////////////////////////////////////////////////////////
// //
// (c) 2001-2003 Electronic Arts Inc. //
// //
////////////////////////////////////////////////////////////////////////////////
// FILE: ExtendedMessageBox.h /////////////////////////////////////////////////////////////////////
// Author: Matt Campbell, January 2003
// Description: We go quiet in 1 day, gold in 15. Poor time to rewrite message boxes, so
// we get this file instead. Phooey.
///////////////////////////////////////////////////////////////////////////////////////////////////
#pragma once
#ifndef __EXTENDEDMESSAGEBOX_H_
#define __EXTENDEDMESSAGEBOX_H_
#include "GameClient/GameWindowManager.h"
// return codes for message box callbacks
enum MessageBoxReturnType {
MB_RETURN_CLOSE,
MB_RETURN_KEEPOPEN
};
typedef MessageBoxReturnType (* MessageBoxFunc)( void *userData );
// WindowExMessageBoxData ---------------------------------------------------------
/** Data attached to each extended Message box window */
//-----------------------------------------------------------------------------
struct WindowExMessageBoxData
{
MessageBoxFunc yesCallback; ///<Function pointer to the Yes Button Callback
MessageBoxFunc noCallback; ///<Function pointer to the No Button Callback
MessageBoxFunc okCallback; ///<Function pointer to the Ok Button Callback
MessageBoxFunc cancelCallback; ///<Function pointer to the Cancel Button Callback
void *userData;
};
GameWindow *ExMessageBoxYesNo (UnicodeString titleString,UnicodeString bodyString, void *userData,
MessageBoxFunc yesCallback, MessageBoxFunc noCallback);
GameWindow *ExMessageBoxYesNoCancel (UnicodeString titleString,UnicodeString bodyString, void *userData,
MessageBoxFunc yesCallback, MessageBoxFunc noCallback, MessageBoxFunc cancelCallback);
GameWindow *ExMessageBoxOkCancel (UnicodeString titleString,UnicodeString bodyString, void *userData,
MessageBoxFunc okCallback, MessageBoxFunc cancelCallback);
GameWindow *ExMessageBoxOk (UnicodeString titleString,UnicodeString bodyString, void *userData,
MessageBoxFunc okCallback);
GameWindow *ExMessageBoxCancel (UnicodeString titleString,UnicodeString bodyString, void *userData,
MessageBoxFunc cancelCallback);
#endif //__EXTENDEDMESSAGEBOX_H_