12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- /*
- 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 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 );
-
- };
- }
- #endif
|