initial
This commit is contained in:
@@ -18,7 +18,7 @@ set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
|
||||
|
||||
CPMAddPackage(
|
||||
NAME J3ML
|
||||
URL https://git.redacted.cc/josh/j3ml/archive/Release-2.0.zip
|
||||
URL https://git.redacted.cc/josh/j3ml/archive/Release-3.zip
|
||||
)
|
||||
|
||||
CPMAddPackage(
|
||||
|
@@ -1,95 +1,102 @@
|
||||
#pragma once
|
||||
|
||||
|
||||
enum class WindowsScancode {
|
||||
Nothing = 0,
|
||||
ESCAPE = 0x01,
|
||||
ONE = 0x02,
|
||||
TWO = 0x03,
|
||||
THREE = 0x04,
|
||||
FOUR = 0x05,
|
||||
FIVE = 0x06,
|
||||
SIX = 0x07,
|
||||
SEVEN = 0x08,
|
||||
EIGHT = 0x09,
|
||||
NINE = 0x0A,
|
||||
ZERO = 0x0B,
|
||||
MINUS = 0x0C,
|
||||
EQUALS = 0x0D,
|
||||
BACKSPACE = 0x0E,
|
||||
TAB = 0x0F,
|
||||
Q = 0x10,
|
||||
W = 0x11,
|
||||
E = 0x12,
|
||||
R = 0x13,
|
||||
T = 0x14,
|
||||
Y = 0x15,
|
||||
U = 0x16,
|
||||
I = 0x17,
|
||||
O = 0x18,
|
||||
P = 0x19,
|
||||
LEFT_BRACKET = 0x1A,
|
||||
RIGHT_BRACKET = 0x1B,
|
||||
ENTER = 0x1C,
|
||||
CTRL = 0x1D,
|
||||
A = 0x1E,
|
||||
S = 0x1F,
|
||||
D = 0x20,
|
||||
F = 0x21,
|
||||
G = 0x22,
|
||||
H = 0x23,
|
||||
J = 0x24,
|
||||
K = 0x25,
|
||||
L = 0x26,
|
||||
SEMICOLON = 0x27,
|
||||
SINGLEQUOTE = 0x28,
|
||||
GRAVE = 0x29,
|
||||
LEFT_SHIFT = 0x2A,
|
||||
BACKSLASH = 0x2B,
|
||||
Z = 0x2C,
|
||||
X = 0x2D,
|
||||
C = 0x2E,
|
||||
V = 0x2F,
|
||||
B = 0x30,
|
||||
N = 0x30,
|
||||
M = 0x32,
|
||||
COMMA = 0x33,
|
||||
PERIOD = 0x34,
|
||||
SLASH = 0x35,
|
||||
RIGHT_SHIFT = 0x36,
|
||||
PRINTSCREEN = 0x37,
|
||||
ALT = 0x38,
|
||||
SPACE = 0x39,
|
||||
CAPS_LOCK = 0x3A,
|
||||
F1 = 0x3B,
|
||||
F2 = 0x3C,
|
||||
F3 = 0x3D,
|
||||
F4 = 0x3E,
|
||||
F5 = 0x3F,
|
||||
F6 = 0x40,
|
||||
F7 = 0x41,
|
||||
F8 = 0x42,
|
||||
F9 = 0x43,
|
||||
F10 = 0x44,
|
||||
NUM_LOCK = 0x45,
|
||||
SCROLL_LOCK = 0x46,
|
||||
HOME = 0x47,
|
||||
UP_ARROW = 0x48,
|
||||
LEFT_ARROW,
|
||||
DOWN_ARROW,
|
||||
RIGHT_ARROW,
|
||||
PAGE_UP = 0x49,
|
||||
NUMPAD_MINUS = 0x4A,
|
||||
NUMPAD_4 = 0x4B,
|
||||
NUMPAD_5 = 0x4C,
|
||||
NUMPAD_6 = 0x4D,
|
||||
NUMPAD_PLUS = 0x4E,
|
||||
NUMPAD_ONE = 0x4F,
|
||||
NUMPAD_TWO = 0x50,
|
||||
NUMPAD_THREE = 0x51,
|
||||
NUMPAD_ZERO = 0x52,
|
||||
DELETE = 0x53,
|
||||
F11 = 0x85,
|
||||
F12 = 0x86, // FIX
|
||||
Nothing = 0,
|
||||
ESCAPE = 0x1B, // VK_ESCAPE
|
||||
ONE = 0x31, // '1'
|
||||
TWO = 0x32, // '2'
|
||||
THREE = 0x33, // '3'
|
||||
FOUR = 0x34, // '4'
|
||||
FIVE = 0x35, // '5'
|
||||
SIX = 0x36, // '6'
|
||||
SEVEN = 0x37, // '7'
|
||||
EIGHT = 0x38, // '8'
|
||||
NINE = 0x39, // '9'
|
||||
ZERO = 0x30, // '0'
|
||||
MINUS = 0xBD, // VK_OEM_MINUS
|
||||
EQUALS = 0xBB, // VK_OEM_PLUS
|
||||
BACKSPACE = 0x08, // VK_BACK
|
||||
TAB = 0x09, // VK_TAB
|
||||
Q = 0x51, // 'Q'
|
||||
W = 0x57, // 'W'
|
||||
E = 0x45, // 'E'
|
||||
R = 0x52, // 'R'
|
||||
T = 0x54, // 'T'
|
||||
Y = 0x59, // 'Y'
|
||||
U = 0x55, // 'U'
|
||||
I = 0x49, // 'I'
|
||||
O = 0x4F, // 'O'
|
||||
P = 0x50, // 'P'
|
||||
LEFT_BRACKET = 0xDB, // VK_OEM_4
|
||||
RIGHT_BRACKET = 0xDD, // VK_OEM_6
|
||||
ENTER = 0x0D, // VK_RETURN
|
||||
CTRL = 0x11, // VK_CONTROL
|
||||
A = 0x41, // 'A'
|
||||
S = 0x53, // 'S'
|
||||
D = 0x44, // 'D'
|
||||
F = 0x46, // 'F'
|
||||
G = 0x47, // 'G'
|
||||
H = 0x48, // 'H'
|
||||
J = 0x4A, // 'J'
|
||||
K = 0x4B, // 'K'
|
||||
L = 0x4C, // 'L'
|
||||
SEMICOLON = 0xBA, // VK_OEM_1
|
||||
SINGLEQUOTE = 0xDE, // VK_OEM_7
|
||||
GRAVE = 0xC0, // VK_OEM_3
|
||||
LEFT_SHIFT = 0xA0, // VK_LSHIFT
|
||||
BACKSLASH = 0xDC, // VK_OEM_5
|
||||
Z = 0x5A, // 'Z'
|
||||
X = 0x58, // 'X'
|
||||
C = 0x43, // 'C'
|
||||
V = 0x56, // 'V'
|
||||
B = 0x42, // 'B'
|
||||
N = 0x4E, // 'N'
|
||||
M = 0x4D, // 'M'
|
||||
COMMA = 0xBC, // VK_OEM_COMMA
|
||||
PERIOD = 0xBE, // VK_OEM_PERIOD
|
||||
SLASH = 0xBF, // VK_OEM_2
|
||||
RIGHT_SHIFT = 0xA1, // VK_RSHIFT
|
||||
PRINTSCREEN = 0x2C, // VK_SNAPSHOT
|
||||
ALT = 0x12, // VK_MENU
|
||||
SPACE = 0x20, // VK_SPACE
|
||||
CAPS_LOCK = 0x14, // VK_CAPITAL
|
||||
F1 = 0x70, // VK_F1
|
||||
F2 = 0x71, // VK_F2
|
||||
F3 = 0x72, // VK_F3
|
||||
F4 = 0x73, // VK_F4
|
||||
F5 = 0x74, // VK_F5
|
||||
F6 = 0x75, // VK_F6
|
||||
F7 = 0x76, // VK_F7
|
||||
F8 = 0x77, // VK_F8
|
||||
F9 = 0x78, // VK_F9
|
||||
F10 = 0x79, // VK_F10
|
||||
NUM_LOCK = 0x90, // VK_NUMLOCK
|
||||
SCROLL_LOCK = 0x91, // VK_SCROLL
|
||||
HOME = 0x24, // VK_HOME
|
||||
UP_ARROW = 0x26, // VK_UP
|
||||
PAGE_UP = 0x21, // VK_PRIOR
|
||||
LEFT_ARROW = 0x25, // VK_LEFT
|
||||
DOWN_ARROW = 0x28, // VK_DOWN
|
||||
RIGHT_ARROW = 0x27, // VK_RIGHT
|
||||
END = 0x23, // VK_END
|
||||
PAGE_DOWN = 0x22, // VK_NEXT
|
||||
INSERT = 0x2D, // VK_INSERT
|
||||
DELETE = 0x2E, // VK_DELETE
|
||||
F11 = 0x7A, // VK_F11
|
||||
F12 = 0x7B, // VK_F12
|
||||
|
||||
NUMPAD_ZERO = 0x60, // VK_NUMPAD0
|
||||
NUMPAD_ONE = 0x61, // VK_NUMPAD1
|
||||
NUMPAD_TWO = 0x62, // VK_NUMPAD2
|
||||
NUMPAD_THREE = 0x63, // VK_NUMPAD3
|
||||
NUMPAD_FOUR = 0x64, // VK_NUMPAD4
|
||||
NUMPAD_FIVE = 0x65, // VK_NUMPAD5
|
||||
NUMPAD_SIX = 0x66, // VK_NUMPAD6
|
||||
NUMPAD_SEVEN = 0x67, // VK_NUMPAD7
|
||||
NUMPAD_EIGHT = 0x68, // VK_NUMPAD8
|
||||
NUMPAD_NINE = 0x69, // VK_NUMPAD9
|
||||
NUMPAD_PLUS = 0x6B, // VK_ADD
|
||||
NUMPAD_MINUS = 0x6D, // VK_SUBTRACT
|
||||
NUMPAD_DECIMAL = 0x6E, // VK_DECIMAL
|
||||
NUMPAD_ENTER = 0x0D // VK_RETURN
|
||||
};
|
@@ -22,7 +22,7 @@ using J3ML::LinearAlgebra::Vector2;
|
||||
class Key
|
||||
{
|
||||
private:
|
||||
static std::vector<Key> keyboard;
|
||||
inline static std::vector<Key> keyboard;
|
||||
public:
|
||||
static std::vector<Key> GetKeyboard();
|
||||
Key();
|
||||
|
@@ -1,7 +1,6 @@
|
||||
#pragma once
|
||||
#include <cstdint>
|
||||
#include <vector>
|
||||
#include <memory>
|
||||
#include <Event.h>
|
||||
#include <functional>
|
||||
#include <map>
|
||||
|
4
main.cpp
4
main.cpp
@@ -79,6 +79,10 @@ int main() {
|
||||
|
||||
//Windows :(
|
||||
#ifdef _WIN32
|
||||
#ifndef UNICODE
|
||||
#define UNICODE
|
||||
#endif
|
||||
|
||||
extern "C" {
|
||||
int wmain(int argc, wchar_t* argv[]) {
|
||||
return main();
|
||||
|
@@ -1,6 +1,6 @@
|
||||
#include <rewindow/types/key.h>
|
||||
|
||||
std::vector<Key> Key::keyboard = {};
|
||||
#include <memory>
|
||||
//std::vector<Key> Key::keyboard = {};
|
||||
|
||||
std::vector<Key> Key::GetKeyboard() { return keyboard; }
|
||||
|
||||
@@ -8,8 +8,12 @@ Key::Key() {
|
||||
keyboard.push_back(*this);
|
||||
}
|
||||
|
||||
Key::Key(const char* charcode, X11Scancode scancode, WindowsScancode wSc)
|
||||
: CharCode(charcode), x11ScanCode(scancode), winScanCode(wSc) {}
|
||||
Key::Key(const char* charcode, X11Scancode scancode, WindowsScancode sc)
|
||||
: CharCode(charcode), x11ScanCode(scancode), winScanCode(sc)
|
||||
{
|
||||
//TODO doing this is what crashes the program.
|
||||
keyboard.push_back(*this);
|
||||
}
|
||||
|
||||
MouseButton::MouseButton() {
|
||||
}
|
||||
|
@@ -322,7 +322,8 @@ void ReWindow::RWindow::refresh() {
|
||||
void ReWindow::RWindow::setVsyncEnabled (bool b) {
|
||||
PFNWGLSWAPINTERVALEXTPROC wglSwapIntervalEXT;
|
||||
wglSwapIntervalEXT = (PFNWGLSWAPINTERVALEXTPROC)wglGetProcAddress("wglSwapIntervalEXT");
|
||||
wglSwapIntervalEXT(b);
|
||||
if (wglSwapIntervalEXT != nullptr)
|
||||
wglSwapIntervalEXT(b);
|
||||
}
|
||||
|
||||
bool ReWindow::RWindow::isFullscreen() const {
|
||||
@@ -355,6 +356,7 @@ void ReWindow::RWindow::refresh() {
|
||||
wglMakeCurrent (hdc, glrc);
|
||||
EnumDisplaySettingsA (NULL, ENUM_CURRENT_SETTINGS, &mode);
|
||||
open = true;
|
||||
raise();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user