diff --git a/ogl_editor/data/windows/afxres.h b/ogl_editor/data/windows/afxres.h new file mode 100644 index 0000000..50830b3 --- /dev/null +++ b/ogl_editor/data/windows/afxres.h @@ -0,0 +1,12 @@ +#include +#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 diff --git a/ogl_editor/src/windows/RocketWindow.c b/ogl_editor/src/windows/RocketWindow.c index 70a1b75..bccf3ba 100644 --- a/ogl_editor/src/windows/RocketWindow.c +++ b/ogl_editor/src/windows/RocketWindow.c @@ -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) { - 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_UP : key = EMGUI_ARROW_UP; 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) - { - 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; - } + int modifiers = 0; + + modifiers |= GetKeyState(VK_SHIFT) < 0 ? EMGUI_KEY_SHIFT : 0; + modifiers |= GetKeyState(VK_CONTROL) < 0 ? EMGUI_KEY_CTRL : 0; + modifiers |= GetKeyState(VK_MENU) < 0 ? EMGUI_KEY_ALT : 0; + modifiers |= GetKeyState(VK_LWIN) < 0 ? EMGUI_KEY_COMMAND : 0; + modifiers |= GetKeyState(VK_RWIN) < 0 ? EMGUI_KEY_COMMAND : 0; + + return modifiers; } + /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 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) { - Emgui_sendKeyinput(key, s_modifier); - Editor_keyDown(key, -1, s_modifier); + int modifier = getModifiers(); + Emgui_sendKeyinput(key, modifier); + Editor_keyDown(key, -1, modifier); Editor_update(); } break; } - case WM_KEYUP: - case WM_SYSKEYUP: - { - onKeyUp(wParam, lParam); - break; - } - case WM_COMMAND: { switch (LOWORD(wParam)) @@ -282,7 +276,6 @@ LRESULT CALLBACK WndProc(HWND window, UINT message, WPARAM wParam, LPARAM lParam { Editor_menuEvent(EDITOR_MENU_OPEN); Editor_update(); - s_modifier = 0; break; } } diff --git a/units.lua b/units.lua index d0c3dd0..0d4d5f4 100644 --- a/units.lua +++ b/units.lua @@ -77,7 +77,7 @@ Program { "../../../../../emgui/src", "ogl_editor/External/mxml" }, PROGOPTS = { - { "/SUBSYSTEM:WINDOWS", "/ENTRY:mainCRTStartup", "/DEBUG"; Config = { "win32-*-*", "win64-*-*" } }, + { "/SUBSYSTEM:WINDOWS", "/DEBUG"; Config = { "win32-*-*", "win64-*-*" } }, }, CPPDEFS = { @@ -100,11 +100,13 @@ Program { { Pattern = "windows"; Config = { "win32-*-*", "win64-*-*" } }, }, }, + + { "ogl_editor/data/windows/editor.rc" ; Config = { "win32-*-*", "win64-*-*" } }, }, 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" }, @@ -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) ---#else --- Default "editor" ---end +else + Default "editor" +end