* @brief Notify the text input has received focus. Typically in response to an activate request.
*
* @param[in] seat the seat that produced the event
- * @param[in] serial serial number
+ * @param[in] surface wayland surface
*/
virtual void Enter( Seat* seat, WlSurface* surface ) = 0;
*
* @param[in] seat the seat that produced the event
* @param[in] serial of the latest known text input state
+ * @param[in] text the text to commit
*/
virtual void CommitString( Seat* seat, uint32_t serial, const char *text ) = 0;
* (where the modifier indices are set by the modifiers_map event)
* @param[in] seat the seat that produced the event
* @param[in] serial of the latest known text input state
+ * @param[in] time time stamp
+ * @param[in] sym symbol
+ * @param[in] state state
+ * @param[in] modifiers modifiers
*/
virtual void Keysym( Seat* seat,
uint32_t serial,
* @brief Set the language of the input text.
* @param[in] seat the seat that produced the event
* @param[in] serial of the latest known text input state
- * @param[in] The "language" argument is a RFC-3066 format language tag.
+ * @param[in] language The "language" argument is a RFC-3066 format language tag.
*/
virtual void Language( Seat* seat, uint32_t serial, const char *language ) = 0;
* direction text is laid out properly.
*
* @param[in] seat the seat that produced the event
+ * @param[in] serial of the latest known text input state
* @param[in] direction ( see text_direction enum in wayland-extension/protocol/text.xml )
*/
virtual void TextDirection( Seat* seat, uint32_t serial, uint32_t direction ) = 0;
*
* @param[in] seat the seat that produced the event
* @param[in] serial of the latest known text input state
- * @param[in] start index
- * @param[in] start index
+ * @param[in] start start index
+ * @param[in] end end index
*/
virtual void SelectionRegion( Seat* seat, uint32_t serial, int32_t start, int32_t end) = 0;
* @brief Notify when the input panels ask to send private command
* @param[in] seat the seat that produced the event
* @param[in] serial of the latest known text input state
- * @param[in] start index
+ * @param[in] command private command string
*/
virtual void PrivateCommand( Seat* seat, uint32_t serial, const char *command) = 0;
/**
- * @ Notify when the geometry of the input panel changed.
+ * @brief Notify when the geometry of the input panel changed.
+ * @param[in] seat the seat that produced the event
* @param[in] x position
* @param[in] y position
* @param[in] width panel width
uint32_t width,
uint32_t height) = 0;
+ /**
+ * @brief Notify when the input panels ask to send input panel data
+ * Not sure what this is for exactly
+ * @param[in] seat the seat that produced the event
+ * @param[in] serial of the latest known text input state
+ * @param[in] data input panel data
+ * @param[in] dataLength data length
+ *
+ */
+ virtual void InputPanelData( Seat* seat,
+ uint32_t serial,
+ const char* data,
+ uint32_t dataLength ) = 0;
+
public: // Helper functions used to find the seat associated with the keyboard/pointer/touch device
/**
- * @brief get the seat that contains the keyboard interface
- * @param[in] keyboard wayland keyboard interface
+ * @brief get the seat that contains the text input interface
+ * @param[in] textInput wayland textinput interface
* @return the seat the keyboard belongs to
*/
virtual Seat* GetSeat( const WlTextInput* textInput) = 0;
// CLASS HEADER
#include "text-input-listeners.h"
-/*
-// EXTERNAL INCLUDES
-#include <cctype>
-#include <stdio.h>
-*/
-
// INTERNAL INCLUDES
#include <input/text/text-input-interface.h>
#include <input/seat.h>
input->InputPanelGeometry( seat, x, y, width, height );
}
+void InputPanelData( void* data,
+ WlTextInput* textInput,
+ uint32_t serial,
+ const char* input_panel_data,
+ uint32_t input_panel_data_length)
+{
+ TextInputInterface* input = static_cast< TextInputInterface* >( data );
+ Seat* seat = input->GetSeat( textInput );
+
+ input->InputPanelData( seat, serial, input_panel_data, input_panel_data_length);
+}
+
+
+/**
+ * If when running DALi on target a message like
+ * listener function for opcode 16 of wl_text_input is NULL,
+ * then it means the interface has been updated, and they've added an extra function
+ * to the listener
+ */
const WlTextInputListener TextInputListener =
{
Enter,
TextDirection,
SelectionRegion,
PrivateCommand,
- InputPanelGeometry
+ InputPanelGeometry,
+ InputPanelData
};
} // unnamed namespace