forked from cafeberry/cafeberry
added some kbm stuff
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
#include "stdafx.h"
|
||||
#include "UI.h"
|
||||
#include "UIScene_SignEntryMenu.h"
|
||||
#include "DirectTextEdit.h"
|
||||
#include "..\..\Minecraft.h"
|
||||
#include "..\..\MultiPlayerLocalPlayer.h"
|
||||
#include "..\..\MultiPlayerLevel.h"
|
||||
@@ -149,7 +150,10 @@ int UIScene_SignEntryMenu::KeyboardCompleteCallback(LPVOID lpParam,bool bRes)
|
||||
{
|
||||
uint16_t pchText[128];
|
||||
ZeroMemory(pchText, 128 * sizeof(uint16_t) );
|
||||
InputManager.GetText(pchText);
|
||||
#ifdef _WINDOWS64
|
||||
if (!DirectTextEdit::TakeText(pchText, 128))
|
||||
#endif
|
||||
InputManager.GetText(pchText);
|
||||
pClass->m_textInputLines[pClass->m_iEditingLine].setLabel((wchar_t *)pchText);
|
||||
}
|
||||
return 0;
|
||||
@@ -169,8 +173,14 @@ void UIScene_SignEntryMenu::handlePress(F64 controlId, F64 childId)
|
||||
case eControl_Line3:
|
||||
case eControl_Line4:
|
||||
{
|
||||
m_iEditingLine = (int)controlId;
|
||||
m_bIgnoreInput = true;
|
||||
m_iEditingLine = (int)controlId;
|
||||
#ifdef _WINDOWS64
|
||||
DirectTextEdit::Begin(&m_textInputLines[m_iEditingLine], NULL, m_textInputLines[m_iEditingLine].getLabel(), 15,
|
||||
C_4JInput::EKeyboardMode_Alphabet,
|
||||
&UIScene_SignEntryMenu::KeyboardCompleteCallback, this);
|
||||
DirectTextEdit::SetLineNav(&UIScene_SignEntryMenu::DirectTextLineNav, this);
|
||||
#else
|
||||
m_bIgnoreInput = true;
|
||||
#ifdef _XBOX_ONE
|
||||
// 4J-PB - Xbox One uses the Windows virtual keyboard, and doesn't have the Xbox 360 Latin keyboard type, so we can't restrict the input set to alphanumeric. The closest we get is the emailSmtpAddress type.
|
||||
int language = XGetLanguage();
|
||||
@@ -188,9 +198,29 @@ void UIScene_SignEntryMenu::handlePress(F64 controlId, F64 childId)
|
||||
#else
|
||||
InputManager.RequestKeyboard(app.GetString(IDS_SIGN_TITLE),m_textInputLines[m_iEditingLine].getLabel(),(DWORD)m_iPad,15,&UIScene_SignEntryMenu::KeyboardCompleteCallback,this,C_4JInput::EKeyboardMode_Alphabet);
|
||||
#endif
|
||||
}
|
||||
break;
|
||||
#endif
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void UIScene_SignEntryMenu::DirectTextLineNav(LPVOID pParam, int iDir)
|
||||
{
|
||||
UIScene_SignEntryMenu *pClass = (UIScene_SignEntryMenu *)pParam;
|
||||
int line = pClass->m_iEditingLine + iDir;
|
||||
if (line < 0 || line > 3)
|
||||
{
|
||||
if (iDir > 0)
|
||||
pClass->m_bConfirmed = true;
|
||||
return;
|
||||
}
|
||||
pClass->m_iEditingLine = line;
|
||||
#ifdef _WINDOWS64
|
||||
DirectTextEdit::Begin(&pClass->m_textInputLines[line], NULL, pClass->m_textInputLines[line].getLabel(), 15,
|
||||
C_4JInput::EKeyboardMode_Alphabet,
|
||||
&UIScene_SignEntryMenu::KeyboardCompleteCallback, pClass);
|
||||
DirectTextEdit::SetLineNav(&UIScene_SignEntryMenu::DirectTextLineNav, pClass);
|
||||
#endif
|
||||
}
|
||||
|
||||
void UIScene_SignEntryMenu::handleDestroy()
|
||||
|
||||
Reference in New Issue
Block a user