Win32 fixes (esp for modifier key handling)
This commit is contained in:
parent
11be62cdcf
commit
31e19296f8
12
ogl_editor/data/windows/afxres.h
Normal file
12
ogl_editor/data/windows/afxres.h
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
#include <windows.h>
|
||||||
|
#define ID_FILE_NEW 0xE100
|
||||||
|
#define ID_FILE_OPEN 0xE101
|
||||||
|
#define ID_FILE_SAVE 0xE103
|
||||||
|
#define ID_FILE_SAVE_AS 0xE104
|
||||||
|
#define ID_EDIT_CLEAR 0xE120
|
||||||
|
#define ID_EDIT_COPY 0xE122
|
||||||
|
#define ID_EDIT_CUT 0xE123
|
||||||
|
#define ID_EDIT_PASTE 0xE125
|
||||||
|
#define ID_EDIT_SELECT_ALL 0xE12A
|
||||||
|
#define ID_EDIT_UNDO 0xE12B
|
||||||
|
#define ID_EDIT_REDO 0xE12C
|
||||||
@ -164,7 +164,10 @@ void Window_setTitle(const char* title)
|
|||||||
|
|
||||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
static int s_modifier = 0;
|
void Window_populateRecentList(char** files)
|
||||||
|
{
|
||||||
|
(void)files;
|
||||||
|
}
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
@ -174,11 +177,6 @@ static int onKeyDown(WPARAM wParam, LPARAM lParam)
|
|||||||
|
|
||||||
switch (wParam)
|
switch (wParam)
|
||||||
{
|
{
|
||||||
case VK_SHIFT: s_modifier |= EMGUI_KEY_SHIFT; break;
|
|
||||||
case VK_CONTROL: s_modifier |= EMGUI_KEY_CTRL; break;
|
|
||||||
case VK_MENU : s_modifier |= EMGUI_KEY_ALT; break;
|
|
||||||
case VK_LWIN :
|
|
||||||
case VK_RWIN : s_modifier |= EMGUI_KEY_COMMAND; break;
|
|
||||||
case VK_LEFT : key = EMGUI_ARROW_LEFT; break;
|
case VK_LEFT : key = EMGUI_ARROW_LEFT; break;
|
||||||
case VK_UP : key = EMGUI_ARROW_UP; break;
|
case VK_UP : key = EMGUI_ARROW_UP; break;
|
||||||
case VK_RIGHT : key = EMGUI_ARROW_RIGHT; break;
|
case VK_RIGHT : key = EMGUI_ARROW_RIGHT; break;
|
||||||
@ -203,17 +201,19 @@ static int onKeyDown(WPARAM wParam, LPARAM lParam)
|
|||||||
|
|
||||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
static void onKeyUp(WPARAM wParam, LPARAM lParam)
|
static int getModifiers()
|
||||||
{
|
{
|
||||||
switch (wParam)
|
int modifiers = 0;
|
||||||
{
|
|
||||||
case VK_SHIFT: s_modifier &= ~EMGUI_KEY_SHIFT; break;
|
modifiers |= GetKeyState(VK_SHIFT) < 0 ? EMGUI_KEY_SHIFT : 0;
|
||||||
case VK_CONTROL: s_modifier &= ~EMGUI_KEY_CTRL; break;
|
modifiers |= GetKeyState(VK_CONTROL) < 0 ? EMGUI_KEY_CTRL : 0;
|
||||||
case VK_MENU : s_modifier &= ~EMGUI_KEY_ALT; break;
|
modifiers |= GetKeyState(VK_MENU) < 0 ? EMGUI_KEY_ALT : 0;
|
||||||
case VK_LWIN :
|
modifiers |= GetKeyState(VK_LWIN) < 0 ? EMGUI_KEY_COMMAND : 0;
|
||||||
case VK_RWIN : s_modifier &= ~EMGUI_KEY_COMMAND; break;
|
modifiers |= GetKeyState(VK_RWIN) < 0 ? EMGUI_KEY_COMMAND : 0;
|
||||||
}
|
|
||||||
|
return modifiers;
|
||||||
}
|
}
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
LRESULT CALLBACK WndProc(HWND window, UINT message, WPARAM wParam, LPARAM lParam)
|
LRESULT CALLBACK WndProc(HWND window, UINT message, WPARAM wParam, LPARAM lParam)
|
||||||
@ -259,21 +259,15 @@ LRESULT CALLBACK WndProc(HWND window, UINT message, WPARAM wParam, LPARAM lParam
|
|||||||
|
|
||||||
if (key != -1)
|
if (key != -1)
|
||||||
{
|
{
|
||||||
Emgui_sendKeyinput(key, s_modifier);
|
int modifier = getModifiers();
|
||||||
Editor_keyDown(key, -1, s_modifier);
|
Emgui_sendKeyinput(key, modifier);
|
||||||
|
Editor_keyDown(key, -1, modifier);
|
||||||
Editor_update();
|
Editor_update();
|
||||||
}
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
case WM_KEYUP:
|
|
||||||
case WM_SYSKEYUP:
|
|
||||||
{
|
|
||||||
onKeyUp(wParam, lParam);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
case WM_COMMAND:
|
case WM_COMMAND:
|
||||||
{
|
{
|
||||||
switch (LOWORD(wParam))
|
switch (LOWORD(wParam))
|
||||||
@ -282,7 +276,6 @@ LRESULT CALLBACK WndProc(HWND window, UINT message, WPARAM wParam, LPARAM lParam
|
|||||||
{
|
{
|
||||||
Editor_menuEvent(EDITOR_MENU_OPEN);
|
Editor_menuEvent(EDITOR_MENU_OPEN);
|
||||||
Editor_update();
|
Editor_update();
|
||||||
s_modifier = 0;
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
16
units.lua
16
units.lua
@ -77,7 +77,7 @@ Program {
|
|||||||
"../../../../../emgui/src",
|
"../../../../../emgui/src",
|
||||||
"ogl_editor/External/mxml" },
|
"ogl_editor/External/mxml" },
|
||||||
PROGOPTS = {
|
PROGOPTS = {
|
||||||
{ "/SUBSYSTEM:WINDOWS", "/ENTRY:mainCRTStartup", "/DEBUG"; Config = { "win32-*-*", "win64-*-*" } },
|
{ "/SUBSYSTEM:WINDOWS", "/DEBUG"; Config = { "win32-*-*", "win64-*-*" } },
|
||||||
},
|
},
|
||||||
|
|
||||||
CPPDEFS = {
|
CPPDEFS = {
|
||||||
@ -100,11 +100,13 @@ Program {
|
|||||||
{ Pattern = "windows"; Config = { "win32-*-*", "win64-*-*" } },
|
{ Pattern = "windows"; Config = { "win32-*-*", "win64-*-*" } },
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
|
{ "ogl_editor/data/windows/editor.rc" ; Config = { "win32-*-*", "win64-*-*" } },
|
||||||
},
|
},
|
||||||
|
|
||||||
Depends = { "sync", "mxml", "emgui" },
|
Depends = { "sync", "mxml", "emgui" },
|
||||||
|
|
||||||
Libs = { { "wsock32.lib", "opengl32.lib", "glu32.lib", "kernel32.lib", "user32.lib", "gdi32.lib" ; Config = "win32-*-*" } },
|
Libs = { { "wsock32.lib", "opengl32.lib", "glu32.lib", "kernel32.lib", "user32.lib", "gdi32.lib", "Comdlg32.lib" ; Config = "win32-*-*" } },
|
||||||
|
|
||||||
Frameworks = { "Cocoa", "OpenGL" },
|
Frameworks = { "Cocoa", "OpenGL" },
|
||||||
|
|
||||||
@ -122,13 +124,13 @@ local rocketBundle = OsxBundle
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
--local native = require('tundra.native')
|
local native = require('tundra.native')
|
||||||
|
|
||||||
--if native.host_platform == "macosx" then
|
if native.host_platform == "macosx" then
|
||||||
Default(rocketBundle)
|
Default(rocketBundle)
|
||||||
--#else
|
else
|
||||||
-- Default "editor"
|
Default "editor"
|
||||||
--end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user