cfc1681b4c
Extract platform-specific code in a wxUIActionSimulatorImpl-derived class instead of keeping it in wxUIActionSimulator itself. This will allow determining which implementation to use dynamically (i.e. at run-time and not compile-time) to use later and already allows to get rid of an __WXOSX__ #ifdef in common code.
45 lines
1.7 KiB
C++
45 lines
1.7 KiB
C++
///////////////////////////////////////////////////////////////////////////////
|
|
// Name: wx/private/uiaction.h
|
|
// Purpose: wxUIActionSimulatorImpl declaration
|
|
// Author: Vadim Zeitlin
|
|
// Created: 2016-05-21
|
|
// Copyright: (c) 2016 Vadim Zeitlin <vadim@wxwidgets.org>
|
|
// Licence: wxWindows licence
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
|
|
#ifndef _WX_PRIVATE_UIACTION_H_
|
|
#define _WX_PRIVATE_UIACTION_H_
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// Platform-specific implementation of wxUIActionSimulator
|
|
// ----------------------------------------------------------------------------
|
|
|
|
class wxUIActionSimulatorImpl
|
|
{
|
|
public:
|
|
wxUIActionSimulatorImpl() { }
|
|
virtual ~wxUIActionSimulatorImpl() { }
|
|
|
|
// Low level mouse methods which must be implemented in the derived class.
|
|
virtual bool MouseMove(long x, long y) = 0;
|
|
virtual bool MouseDown(int button = wxMOUSE_BTN_LEFT) = 0;
|
|
virtual bool MouseUp(int button = wxMOUSE_BTN_LEFT) = 0;
|
|
|
|
// Higher level mouse methods which have default implementation in the base
|
|
// class but can be overridden if necessary.
|
|
virtual bool MouseClick(int button = wxMOUSE_BTN_LEFT);
|
|
virtual bool MouseDblClick(int button = wxMOUSE_BTN_LEFT);
|
|
virtual bool MouseDragDrop(long x1, long y1, long x2, long y2,
|
|
int button = wxMOUSE_BTN_LEFT);
|
|
|
|
// The low-level port-specific function which really generates the key
|
|
// presses. It should generate exactly one key event with the given
|
|
// parameters.
|
|
virtual bool DoKey(int keycode, int modifiers, bool isDown) = 0;
|
|
|
|
private:
|
|
wxDECLARE_NO_COPY_CLASS(wxUIActionSimulatorImpl);
|
|
};
|
|
|
|
#endif // _WX_PRIVATE_UIACTION_H_
|