Paranoia2/utils/mxtk/mxInit.h
2020-08-31 19:50:41 +03:00

91 lines
2.6 KiB
C++

//
// mxToolKit (c) 1999 by Mete Ciragan
//
// file: mxInit.h
// implementation: all
// last modified: Apr 28 1999, Mete Ciragan
// copyright: The programs and associated files contained in this
// distribution were developed by Mete Ciragan. The programs
// are not in the public domain, but they are freely
// distributable without licensing fees. These programs are
// provided without guarantee or warrantee expressed or
// implied.
//
#ifndef INCLUDED_MXINIT
#define INCLUDED_MXINIT
#ifdef WIN32
#include <windows.h>
#endif
class mxWindow;
class mx
{
public:
// NO CREATORS
mx() {}
virtual ~mx () {}
// MANIPULATORS
static int init (int argc, char *argv[]);
static int run ();
static int check ();
static void quit ();
static void cleanup ();
static void setEventWindow (mxWindow *window);
static int setDisplayMode (int w, int h, int bpp);
static void setIdleWindow (mxWindow *window);
// ACCESSORS
static int getDisplayWidth ();
static int getDisplayHeight ();
static mxWindow *getMainWindow ();
static const char *getApplicationPath ();
static unsigned int getTickCount ();
enum
{
ACCEL_ALT = (1<<0), // The ALT key must be held down when the accelerator key is pressed.
ACCEL_CONTROL = (1<<1), // The CTRL key must be held down when the accelerator key is pressed.
ACCEL_SHIFT = (1<<2), // The SHIFT key must be held down when the accelerator key is pressed.
ACCEL_VIRTKEY = (1<<3), // The key member specifies a virtual-key code. If this flag is not specified, key is assumed to specify a character code.
};
// Based on windows.h ACCEL structure!!!
struct Accel_t
{
Accel_t() :
flags( 0 ),
key( 0 ),
command( 0 )
{
}
unsigned char flags; // one or more of above ACCEL_ flags
unsigned short key; // Specifies the accelerator key. This member can be either a virtual-key code or a character code.
unsigned short command; // Specifies the accelerator identifier. This value is placed in the low-order word of the wParam parameter of the WM_COMMAND or WM_SYSCOMMAND message when the accelerator is pressed.
};
static void createAccleratorTable( int numentries, Accel_t *entries );
static bool regCreateKey( HKEY hKey, const char *SubKey );
static bool regGetValue( HKEY hKey, const char *SubKey, const char *Value, char *pBuffer );
static bool regSetValue( HKEY hKey, const char *SubKey, const char *Value, char *pBuffer );
private:
// NOT IMPLEMENTED
mx (const mx&);
mx& operator= (const mx&);
};
#endif // INCLUDED_MXINIT