Torque3D/Engine/lib/bullet/examples/ThirdPartyLibs/Gwen/InputHandler.h
marauder2k7 13fa178cf6 update bullet so it actually works
Moved the addSourceDirectory for physics/Bullet into the Engine/Source/CMakeLists.txt file that way it can actually appear where we expect it to in the solution explorer.
2026-06-03 15:08:51 +01:00

79 lines
1.8 KiB
C++

/*
GWEN
Copyright (c) 2010 Facepunch Studios
See license in Gwen.h
*/
#pragma once
#ifndef GWEN_INPUTHANDLER_H
#define GWEN_INPUTHANDLER_H
#include <queue>
#include "Gwen/Gwen.h"
namespace Gwen
{
namespace Controls
{
class Base;
}
namespace Key
{
const unsigned char Invalid = 0;
const unsigned char Return = 1;
const unsigned char Backspace = 2;
const unsigned char Delete = 3;
const unsigned char Left = 4;
const unsigned char Right = 5;
const unsigned char Shift = 6;
const unsigned char Tab = 7;
const unsigned char Space = 8;
const unsigned char Home = 9;
const unsigned char End = 10;
const unsigned char Control = 11;
const unsigned char Up = 12;
const unsigned char Down = 13;
const unsigned char Escape = 14;
const unsigned char Alt = 15;
const unsigned char Count = 16;
} // namespace Key
namespace Input
{
namespace Message
{
enum
{
Copy,
Paste,
Cut,
Undo,
Redo,
SelectAll
};
};
// For use in panels
bool GWEN_EXPORT IsKeyDown(int iKey);
bool GWEN_EXPORT IsLeftMouseDown();
bool GWEN_EXPORT IsRightMouseDown();
Gwen::Point GWEN_EXPORT GetMousePosition();
inline bool IsShiftDown() { return IsKeyDown(Gwen::Key::Shift); }
inline bool IsControlDown() { return IsKeyDown(Gwen::Key::Control); }
// Does copy, paste etc
bool GWEN_EXPORT DoSpecialKeys(Controls::Base* pCanvas, Gwen::UnicodeChar chr);
bool GWEN_EXPORT HandleAccelerator(Controls::Base* pCanvas, Gwen::UnicodeChar chr);
// Send input to canvas for study
void GWEN_EXPORT OnMouseMoved(Controls::Base* pCanvas, int x, int y, int deltaX, int deltaY);
bool GWEN_EXPORT OnMouseClicked(Controls::Base* pCanvas, int iButton, bool bDown);
bool GWEN_EXPORT OnKeyEvent(Controls::Base* pCanvas, int iKey, bool bDown);
void GWEN_EXPORT OnCanvasThink(Controls::Base* pControl);
}; // namespace Input
} // namespace Gwen
#endif