Sleeping Wombat GUI  0.100
swGUI
Public Member Functions | Private Attributes | List of all members
sw::input::WinApiInputProxy Class Reference

Klasa do przekierowywania do silnika wejścia pobranego z WPFa. More...

#include <WinApiInputProxy.h>

Inheritance diagram for sw::input::WinApiInputProxy:
sw::input::IInput

Public Member Functions

 WinApiInputProxy ()
 
 ~WinApiInputProxy ()
 
virtual bool Init (const InputInitInfo &initInfo) override
 Inicjalizuje cały moduł. Po wywołaniu tej funkcji moduł musi być gotowy do użytku w innym przypadku powinien zwrócić false. More...
 
virtual const std::vector< const KeyboardState * > & GetKeyboardStates () const override
 
virtual const std::vector< const MouseState * > & GetMouseStates () const override
 
virtual const std::vector< const JoystickState * > & GetJoystickStates () const override
 
virtual std::vector< KeyboardDeviceOPtr > & GetKeyboardDevice () override
 
virtual std::vector< MouseDeviceOPtr > & GetMouseDevice () override
 
virtual std::vector< JoystickDeviceOPtr > & GetJoystickDevice () override
 
virtual std::vector< const InputDeviceInfo * > GetDevicesInfo () const override
 
virtual void Update (float timeInterval) override
 
virtual bool UpdateDevices () override
 Funkcja na nowo sprawdza obecne w systemie urządzenia i aktualizuje wszystkie potrzebne dane. More...
 
WinaAPI API
void KeyboardChange (int keyId, bool pressed)
 Ustawia nowy stan przycisku na klawiaturze. More...
 
void KeyboardCharacter (wchar_t character)
 
void MouseButtonChange (int button, bool pressed)
 Ustawia nowy stan przycisku myszy. More...
 
void MousePositionChange (short X, short Y)
 Ustawia nową pozycję myszy. More...
 
void MouseWheelChange (double delta)
 Ustawia przesunięcie kółka myszy. More...
 
void LostFocus ()
 Ponieważ okno straciło focus to czyścimy stan przycisków i myszy. More...
 
void HandleEvent (HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
 Funkcja uzupełnia stan klasy bezpośrednio na podstawie komunikatów z WinAPI. More...
 
- Public Member Functions inherited from sw::input::IInput
virtual ~IInput ()=0
 

Private Attributes

std::vector< const KeyboardState * > m_keyboardsStates
 Copy of device state in m_keyboards. More...
 
std::vector< const MouseState * > m_mousesStates
 Copy of device state in m_mouses. More...
 
std::vector< const JoystickState * > m_joysticksStates
 Copy of device state in m_joysticks. More...
 
std::vector< KeyboardDeviceOPtr > m_keyboards
 Only first element is in use now. More...
 
std::vector< MouseDeviceOPtr > m_mouses
 Only first element is in use now. More...
 
std::vector< JoystickDeviceOPtr > m_joysticks
 Only first element is in use now. More...
 
uint16 m_lastX
 
uint16 m_lastY
 
Timestamp m_eventNum
 Number of event in current frame. More...
 

Detailed Description

Klasa do przekierowywania do silnika wejścia pobranego z WPFa.

Constructor & Destructor Documentation

sw::input::WinApiInputProxy::WinApiInputProxy ( )
sw::input::WinApiInputProxy::~WinApiInputProxy ( )

Member Function Documentation

std::vector< const InputDeviceInfo * > sw::input::WinApiInputProxy::GetDevicesInfo ( ) const
overridevirtual

Implements sw::input::IInput.

std::vector< JoystickDeviceOPtr > & sw::input::WinApiInputProxy::GetJoystickDevice ( )
overridevirtual

Implements sw::input::IInput.

const std::vector< const JoystickState * > & sw::input::WinApiInputProxy::GetJoystickStates ( ) const
overridevirtual

Implements sw::input::IInput.

std::vector< KeyboardDeviceOPtr > & sw::input::WinApiInputProxy::GetKeyboardDevice ( )
overridevirtual

Implements sw::input::IInput.

const std::vector< const KeyboardState * > & sw::input::WinApiInputProxy::GetKeyboardStates ( ) const
overridevirtual

Implements sw::input::IInput.

std::vector< MouseDeviceOPtr > & sw::input::WinApiInputProxy::GetMouseDevice ( )
overridevirtual

Implements sw::input::IInput.

const std::vector< const MouseState * > & sw::input::WinApiInputProxy::GetMouseStates ( ) const
overridevirtual

Implements sw::input::IInput.

void sw::input::WinApiInputProxy::HandleEvent ( HWND  hWnd,
UINT  message,
WPARAM  wParam,
LPARAM  lParam 
)

Funkcja uzupełnia stan klasy bezpośrednio na podstawie komunikatów z WinAPI.

Jeżeli się używa tej funkcji nie należy już wywoływać pozostałych funkcji.

bool sw::input::WinApiInputProxy::Init ( const InputInitInfo initInfo)
overridevirtual

Inicjalizuje cały moduł. Po wywołaniu tej funkcji moduł musi być gotowy do użytku w innym przypadku powinien zwrócić false.

Implements sw::input::IInput.

void sw::input::WinApiInputProxy::KeyboardChange ( int  keyId,
bool  pressed 
)

Ustawia nowy stan przycisku na klawiaturze.

Todo:
W przyszłości może trzeba będzie dodać informację o zmienie stanu. Mógłby to być np któryć bit ustawiony na 1 czy coś.
void sw::input::WinApiInputProxy::KeyboardCharacter ( wchar_t  character)
void sw::input::WinApiInputProxy::LostFocus ( )

Ponieważ okno straciło focus to czyścimy stan przycisków i myszy.

Todo:
Dokończyć
void sw::input::WinApiInputProxy::MouseButtonChange ( int  button,
bool  pressed 
)

Ustawia nowy stan przycisku myszy.

Todo:
W przyszłości może trzeba będzie dodać informację o zmienie stanu. Mógłby to być np któryć bit ustawiony na 1 czy coś.
void sw::input::WinApiInputProxy::MousePositionChange ( short  X,
short  Y 
)

Ustawia nową pozycję myszy.

void sw::input::WinApiInputProxy::MouseWheelChange ( double  delta)

Ustawia przesunięcie kółka myszy.

void sw::input::WinApiInputProxy::Update ( float  timeInterval)
overridevirtual

Funkcja zapisuje pozycję myszy z ostatniej klatki, żeby ją przerobić na informację o zmianach na osiach myszy. WPF dostarcza tylko informację o położeniu myszy względem okna podglądu renderowania. Z tego przesunięcie na osiach trzeba sobie stworzyć samemu.

Implements sw::input::IInput.

bool sw::input::WinApiInputProxy::UpdateDevices ( )
overridevirtual

Funkcja na nowo sprawdza obecne w systemie urządzenia i aktualizuje wszystkie potrzebne dane.

Urządzenie jest zawsze aktualne.

Implements sw::input::IInput.

Member Data Documentation

Timestamp sw::input::WinApiInputProxy::m_eventNum
private

Number of event in current frame.

std::vector< JoystickDeviceOPtr > sw::input::WinApiInputProxy::m_joysticks
private

Only first element is in use now.

std::vector< const JoystickState* > sw::input::WinApiInputProxy::m_joysticksStates
private

Copy of device state in m_joysticks.

std::vector< KeyboardDeviceOPtr > sw::input::WinApiInputProxy::m_keyboards
private

Only first element is in use now.

std::vector< const KeyboardState* > sw::input::WinApiInputProxy::m_keyboardsStates
private

Copy of device state in m_keyboards.

uint16 sw::input::WinApiInputProxy::m_lastX
private
uint16 sw::input::WinApiInputProxy::m_lastY
private
std::vector< MouseDeviceOPtr > sw::input::WinApiInputProxy::m_mouses
private

Only first element is in use now.

std::vector< const MouseState* > sw::input::WinApiInputProxy::m_mousesStates
private

Copy of device state in m_mouses.


The documentation for this class was generated from the following files: