DragonNest/Common/Lua/LuaDebugger.h

60 lines
1.4 KiB
C
Raw Permalink Normal View History

#pragma once
#include <windows.h>
//#include "../CommonSet/STLCommon.h"
#include <list>
#include <string>
extern "C"
{
#include "Lua.h"
#include "LuaLib.h"
#include "lauxlib.h"
};
//--------------------------------------------------------------------------//
// Class Name: CLuaDebugger
//
// Author : å <20><> <20><><EFBFBD><EFBFBD> + <20>ѱⰡ <20><20><><EFBFBD><EFBFBD>
//
// Desc: <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ŀ<>ǵ<EFBFBD> â<><C3A2> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
//--------------------------------------------------------------------------//
class CLuaDebugger
{
public:
static HWND StartConsole(HINSTANCE hInstance, lua_State *pScriptContext);
static void StopConsole();
static void Write(const char *pString);
static LRESULT WINAPI MsgProc( HWND hWnd, unsigned uMsg, WPARAM wParam, LPARAM lParam);
static LRESULT CALLBACK SubclassInputEditProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam);
static HWND GetConsoleHWND( void ) {return m_hWnd;};
bool ConsoleReady(void) {return m_hWnd!= NULL;}
private:
CLuaDebugger();
virtual ~CLuaDebugger();
void Init(HINSTANCE hInstance);
void ResizeControls(void);
void AdjustScrollBar(void);
void Paint(HDC hDC);
private:
static volatile bool m_bWinIsActive;
static volatile HWND m_hWnd;
static volatile HWND m_hEditControl;
static char m_CommandBuffer[4096];
std::list<std::string> m_stringList;
HINSTANCE m_hInstance;
lua_State* m_pScriptContext;
int m_ScrollyPos;
int m_textAreaHeight;
};