- 3ds - Remove Gfx values that are present in Backend Tamplate - Move to default Palladium Namespace - Set the Input Flags - Desktop - Move to PD Namespace - Comment out old keyboard stuff - HidDriver needs a rewrite but is functional enough - Core - Add u128 class (only used in input driver so far - Drivers (Core) - Move Gfx to PD namespace - Move Vertex/Index Pos and Projection Mtx to Gfx template - Add Keyboard support with u128 to Hid - Add a Update func if no hiddriver is specified (to prevent crashes when requestign inputs) - Image - Add RGBA -> BGRA support (used in windows bitmaps iirc) - Lithium - Add Vertex/Index counters to drawlist - Add a LoadTTF from Mem func and let the loadfile func use PD::IO::LoadFile2Mem (looks cleaner) - Add LoadDefaultFont (which loads one of the integrated fonts if the PD_LI_INCLUDE_FONTS flag was passed on palaldium build) !!! Note that there are no fonts integrated yet due to i dont know how to handle licensing... - UI7 - Add MouseLeft support to Input handler - Use xy coords of the Viewport to create Menus inside it - Get num of Vertices/Indices out of FinalDrawList - Add some Palladium Info to metrics Menu - Readd Compiler string - pdfm - New tool that creates fonts.cpp/fonts.hpp
39 lines
1.1 KiB
C++
Executable File
39 lines
1.1 KiB
C++
Executable File
#include <pd/drivers/hid.hpp>
|
|
#include <pd/drivers/pd_p_api.hpp>
|
|
|
|
namespace PD {
|
|
PD_DEF_EXP(HidDriver::Ref, Hid::pHid);
|
|
|
|
bool HidDriver::IsEvent(Event e, Key keys) { return KeyEvents[0][e] & keys; }
|
|
bool HidDriver::IsEvent(Event e, KbKey keys) {
|
|
return KbKeyEvents[0][e].Has(keys);
|
|
}
|
|
|
|
void HidDriver::SwapTab() {
|
|
auto tkd = KeyEvents[1][Event_Down];
|
|
auto tkh = KeyEvents[1][Event_Held];
|
|
auto tku = KeyEvents[1][Event_Up];
|
|
KeyEvents[1][Event_Down] = KeyEvents[0][Event_Down];
|
|
KeyEvents[1][Event_Held] = KeyEvents[0][Event_Held];
|
|
KeyEvents[1][Event_Up] = KeyEvents[0][Event_Up];
|
|
KeyEvents[0][Event_Down] = tkd;
|
|
KeyEvents[0][Event_Held] = tkh;
|
|
KeyEvents[0][Event_Up] = tku;
|
|
}
|
|
|
|
/**
|
|
* If this func has no verride, still clear the stats
|
|
* cause if they are empty this leads to a crash
|
|
*/
|
|
void HidDriver::Update() {
|
|
// Clear States
|
|
for (int i = 0; i < 2; i++) {
|
|
KeyEvents[i][Event_Down] = 0;
|
|
KeyEvents[i][Event_Held] = 0;
|
|
KeyEvents[i][Event_Up] = 0;
|
|
for (auto& it : KbKeyEvents[i]) {
|
|
it.second = Event_Null;
|
|
}
|
|
}
|
|
}
|
|
} // namespace PD
|