Files
Client/GameTools/NeoRylClient/GUITextEdit.h
LGram16 dd97ddec92 Restructure repository to include all source folders
Move git root from Client/ to src/ to track all source code:
- Client: Game client source (moved to Client/Client/)
- Server: Game server source
- GameTools: Development tools
- CryptoSource: Encryption utilities
- database: Database scripts
- Script: Game scripts
- rylCoder_16.02.2008_src: Legacy coder tools
- GMFont, Game: Additional resources

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 20:17:20 +09:00

119 lines
3.5 KiB
C++

// GUITextEdit.h: interface for the CGUITextEdit class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_GUITEXTEDIT_H__5B84E354_3FE6_43BF_BAA4_9C5AF226EB9F__INCLUDED_)
#define AFX_GUITEXTEDIT_H__5B84E354_3FE6_43BF_BAA4_9C5AF226EB9F__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include <d3d8.h>
#include <d3dx8.h>
#include <deque>
#define MAX_CHATMESSAGE 100
#define MAX_DRAWCHAT 5
#define MAX_DRAWSTALLCHAT 10
#define EDITMODE_NONE 0
#define EDITMODE_CREATECHAR 1
#define EDITMODE_CHAT 2
#define EDITMODE_NUMBER 3
#define EDITMODE_WHISPER 4
#define EDITMODE_DEPOSITPASS 5
#define EDITMODE_CURPASS 6
#define EDITMODE_NEWPASS 7
#define EDITMODE_STALL 8
#define CHATMODE_CHAT 0
#define CHATMODE_PARTY 1
#define CHATMODE_GUILD 3
using namespace std;
class CGUITextEdit
{
protected:
unsigned long m_dwTextSize[129];
char m_strMessage[MAX_PATH];
unsigned long m_dwLimitLength;
long m_lCarretPosition;
LOGFONT m_LogFont;
HWND m_hEditBox;
public:
char * MakeWordBreak(const char *strString, unsigned long dwWidth);
char * MakePrintGold(unsigned long dwGold);
typedef struct Message
{
unsigned long dwCommand;
float fTimer;
char strMessage[MAX_PATH];
unsigned long dwColor;
} Message;
void AddNotice(char *strMessage, unsigned short wCmd);
unsigned long GetChatColor(unsigned long dwCommand);
deque<Message *> m_deqChatMessage;
deque<Message *> m_deqPartyMessage;
deque<Message *> m_deqGuildMessage;
deque<Message *> m_deqNoticeMessage;
deque<Message *> m_deqStallMessage;
unsigned long m_dwChatMode;
unsigned long m_dwStartChat;
unsigned long m_dwStartParty;
unsigned long m_dwStartGuild;
unsigned long m_dwStartStall;
LPD3DXFONT m_lpText;
unsigned long m_dwEditMode;
CGUITextEdit();
~CGUITextEdit();
void DeleteStallMessage(void);
void Create(HWND hWnd, LPDIRECT3DDEVICE8 lpD3DDevice);
void AddNormalChatMessage(char *strMessage, unsigned long dwSender, unsigned long dwCommand);
void AddPartyChatMessage(char *strMessage, unsigned long dwSender, unsigned long dwCommand);
void AddGuildChatMessage(char *strMessage, unsigned long dwSender, unsigned long dwCommand);
void AddStallChatMessage(char *strMessage, unsigned long dwSender, unsigned long dwCommand);
void AddMessage(char *strMessage, unsigned long dwSender, unsigned long dwCommand);
unsigned long GetStringLength(const char *strString);
void SetEditLength(WPARAM wParam);
void InitMessage(void);
void SetWindowText(void)
{
char strMessage[256];
int length = ::GetWindowTextLength(m_hEditBox);
if(length)
{
if(length < 255)
{
::GetWindowText(m_hEditBox, strMessage, 256);
strcpy(m_strMessage, strMessage);
} else
{
::SetWindowText(m_hEditBox, NULL);
strcpy(m_strMessage, "");
}
} else
strcpy(m_strMessage, "");
//::GetWindowText(m_hEditBox, m_strMessage, MAX_PATH);
}
void SetWindowText(char *strString) { ::SetWindowText(m_hEditBox, strString); }
char *GetMessage(void) { return m_strMessage; }
void SetFocus(void) { ::SetFocus(m_hEditBox); }
HWND GetHwnd(void) { return m_hEditBox; }
BOOL IsFocus(void) { if(GetFocus() == m_hEditBox) return TRUE; else return FALSE; }
void DrawText(const char *pString, RECT *pRect, unsigned long Format, D3DCOLOR Color)
{
m_lpText->DrawTextA(pString, -1, pRect, Format, Color);
}
};
extern CGUITextEdit g_TextEdit;
#endif // !defined(AFX_GUITEXTEDIT_H__5B84E354_3FE6_43BF_BAA4_9C5AF226EB9F__INCLUDED_)