123
This commit is contained in:
200
CrySystem/LuaDebugger/_TinyMain.h
Normal file
200
CrySystem/LuaDebugger/_TinyMain.h
Normal file
@@ -0,0 +1,200 @@
|
||||
/******************************************************************************************
|
||||
TINY WINDOWS LIBRARY
|
||||
copyright by Alberto Demichelis 2001
|
||||
email: albertodemichelis@hotmail.com
|
||||
right now this code is not GPL or LGPL in any way
|
||||
******************************************************************************************/
|
||||
|
||||
#ifndef __TINY_MAIN_H__
|
||||
#define __TINY_MAIN_H__
|
||||
|
||||
#pragma once
|
||||
#include "CryLibrary.h"
|
||||
|
||||
#include <commctrl.h>
|
||||
#pragma comment (lib , "comctl32.lib")
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////
|
||||
// Common includes
|
||||
///////////////////////////////////////////////////////////////////////////////////////////
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <memory.h>
|
||||
#include <string.h>
|
||||
#include <math.h>
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////
|
||||
// Helper macros
|
||||
///////////////////////////////////////////////////////////////////////////////////////////
|
||||
#define _TINY_SIGNED_LOWORD(l) ((int16)((int32)(l) & 0xffff))
|
||||
#define _TINY_SIGNED_HIWORD(l) ((int16)((int32)(l) >> 16))
|
||||
#define _T
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////
|
||||
// Debug functions / macros
|
||||
///////////////////////////////////////////////////////////////////////////////////////////
|
||||
#if defined(WIN64) || defined(LINUX64)
|
||||
#define _TinyVerify(x) { if (!(x)) assert(0); }
|
||||
#else
|
||||
#define _TinyVerify(x) { if (!(x)) { DEBUG_BREAK; }; }
|
||||
#endif
|
||||
|
||||
#if defined(_DEBUG) && !defined(WIN64) && !defined(LINUX64)
|
||||
#define _TinyAssert(x) { if (!(x)) { DEBUG_BREAK; }; }
|
||||
#else
|
||||
#define _TinyAssert(x) __noop(x);
|
||||
#endif
|
||||
|
||||
__inline void __cdecl _TinyTrace(const char *sFormat, ...)
|
||||
{
|
||||
va_list vl;
|
||||
static char sTraceString[1024];
|
||||
|
||||
va_start(vl, sFormat);
|
||||
vsprintf(sTraceString, sFormat, vl);
|
||||
va_end(vl);
|
||||
|
||||
strcat(sTraceString, "\n");
|
||||
|
||||
::OutputDebugString(sTraceString);
|
||||
}
|
||||
|
||||
#define _TINY_CHECK_LAST_ERROR _TinyCheckLastError(__FILE__, __LINE__);
|
||||
__inline void _TinyCheckLastError(const char *pszFile, int iLine)
|
||||
{
|
||||
if (GetLastError() != ERROR_SUCCESS)
|
||||
{
|
||||
// Format an error message
|
||||
char szMessageBuf[2048];
|
||||
char szLineFileInfo[_MAX_PATH + 256];
|
||||
FormatMessage(
|
||||
FORMAT_MESSAGE_ARGUMENT_ARRAY |
|
||||
FORMAT_MESSAGE_FROM_SYSTEM |
|
||||
FORMAT_MESSAGE_IGNORE_INSERTS,
|
||||
NULL,
|
||||
GetLastError(),
|
||||
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language
|
||||
szMessageBuf,
|
||||
2048,
|
||||
NULL
|
||||
);
|
||||
sprintf(szLineFileInfo, "Error catched in file %s line %i", pszFile, iLine);
|
||||
strcat(szMessageBuf, szLineFileInfo);
|
||||
|
||||
#ifdef _DEBUG
|
||||
MessageBox(NULL, szMessageBuf, "Tiny Framework Error", MB_OK | MB_ICONERROR);
|
||||
#else
|
||||
_TinyTrace(szMessageBuf);
|
||||
#endif
|
||||
|
||||
// Error processed
|
||||
SetLastError(ERROR_SUCCESS);
|
||||
}
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////
|
||||
// Gobal variables and acessors
|
||||
///////////////////////////////////////////////////////////////////////////////////////////
|
||||
#define _TINY_DECLARE_APP() \
|
||||
LPTSTR g_lpCmdLine; \
|
||||
HINSTANCE g_hResourceInstance;
|
||||
|
||||
extern LPTSTR g_lpCmdLine;
|
||||
extern HINSTANCE g_hResourceInstance;
|
||||
|
||||
inline HINSTANCE _Tiny_GetInstance()
|
||||
{
|
||||
return (HINSTANCE) GetModuleHandle(NULL);
|
||||
}
|
||||
|
||||
inline HINSTANCE _Tiny_GetResourceInstance()
|
||||
{
|
||||
return g_hResourceInstance;
|
||||
}
|
||||
|
||||
inline LPCTSTR _Tiny_GetCommandLine()
|
||||
{
|
||||
return g_lpCmdLine;
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////
|
||||
// Global structures
|
||||
///////////////////////////////////////////////////////////////////////////////////////////
|
||||
class _TinyRect: public RECT{
|
||||
public:
|
||||
_TinyRect(){
|
||||
left=0;
|
||||
right=0;
|
||||
top=0;
|
||||
bottom=0;
|
||||
}
|
||||
_TinyRect(RECT &rect){
|
||||
left=rect.left;
|
||||
right=rect.right;
|
||||
top=rect.top;
|
||||
bottom=rect.bottom;
|
||||
}
|
||||
_TinyRect(int w,int h){
|
||||
left=0;
|
||||
right=w;
|
||||
top=0;
|
||||
bottom=h;
|
||||
}
|
||||
_TinyRect(int x,int y,int w,int h){
|
||||
left=x;
|
||||
right=x+w;
|
||||
top=y;
|
||||
bottom=y+h;
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////
|
||||
// Main window include
|
||||
///////////////////////////////////////////////////////////////////////////////////////////
|
||||
#include "_TinyWindow.h"
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////
|
||||
// Inititalization
|
||||
///////////////////////////////////////////////////////////////////////////////////////////
|
||||
inline BOOL _Tiny_InitApp(HINSTANCE hInstance,HINSTANCE hResourceInstance,HINSTANCE hPrevInstance,LPTSTR lpCmdLine,DWORD nIcon=0)
|
||||
{
|
||||
SetLastError(ERROR_SUCCESS);
|
||||
g_lpCmdLine=lpCmdLine;
|
||||
g_hResourceInstance=hResourceInstance;
|
||||
INITCOMMONCONTROLSEX icc;
|
||||
icc.dwSize=sizeof(INITCOMMONCONTROLSEX);
|
||||
icc.dwICC=ICC_TREEVIEW_CLASSES |ICC_BAR_CLASSES |ICC_LISTVIEW_CLASSES|ICC_COOL_CLASSES|ICC_WIN95_CLASSES ;
|
||||
CryLoadLibrary("Riched20.dll");
|
||||
::InitCommonControlsEx(&icc);
|
||||
BOOL bRet = __RegisterSmartClass(hInstance,nIcon) ? TRUE : FALSE;
|
||||
return bRet;
|
||||
}
|
||||
|
||||
/*
|
||||
if (!TranslateAccelerator(
|
||||
hwndMain, // handle to receiving window
|
||||
haccel, // handle to active accelerator table
|
||||
&msg)) // message data
|
||||
{
|
||||
*/
|
||||
inline int _Tiny_MainLoop(HACCEL hAccelTable = NULL, HWND hAccelTarget = NULL)
|
||||
{
|
||||
MSG msg;
|
||||
|
||||
//_TinyAssert((hAccelTable == NULL && hAccelTarget == NULL) ||
|
||||
// (hAccelTable != NULL && hAccelTarget != NULL));
|
||||
|
||||
while (GetMessage(&msg, NULL, 0, 0))
|
||||
{
|
||||
if (hAccelTable == NULL || TranslateAccelerator(hAccelTarget, hAccelTable, &msg) == 0)
|
||||
{
|
||||
TranslateMessage(&msg);
|
||||
DispatchMessage(&msg);
|
||||
}
|
||||
}
|
||||
|
||||
return (int) msg.wParam;
|
||||
}
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user