From 0a4699c9640deb940e179c543a023be8021de0f5 Mon Sep 17 00:00:00 2001 From: jeon Date: Tue, 28 Jul 2020 15:11:11 +0900 Subject: [PATCH] DSWaylandTextInput: add skeleton codes for wl_text_input and wl_text_input_manager Change-Id: Ibf6033d3634c444dd83a77f5082a4f6f7be2f078 --- src/DSWaylandServer/DSWaylandTextInput.cpp | 153 +++++++++++++++++++++ src/DSWaylandServer/DSWaylandTextInput.h | 27 ++++ src/DSWaylandServer/DSWaylandTextInputManager.h | 27 ++++ .../DSWaylandTextInputManagerPrivate.h | 27 ++++ src/DSWaylandServer/DSWaylandTextInputPrivate.h | 51 +++++++ src/meson.build | 5 + 6 files changed, 290 insertions(+) create mode 100644 src/DSWaylandServer/DSWaylandTextInput.cpp create mode 100644 src/DSWaylandServer/DSWaylandTextInput.h create mode 100644 src/DSWaylandServer/DSWaylandTextInputManager.h create mode 100644 src/DSWaylandServer/DSWaylandTextInputManagerPrivate.h create mode 100644 src/DSWaylandServer/DSWaylandTextInputPrivate.h diff --git a/src/DSWaylandServer/DSWaylandTextInput.cpp b/src/DSWaylandServer/DSWaylandTextInput.cpp new file mode 100644 index 0000000..37277fa --- /dev/null +++ b/src/DSWaylandServer/DSWaylandTextInput.cpp @@ -0,0 +1,153 @@ +#include "DSWaylandTextInputManager.h" +#include "DSWaylandTextInputManagerPrivate.h" +#include "DSWaylandTextInput.h" +#include "DSWaylandTextInputPrivate.h" + +namespace display_server { + +DSWaylandTextInputManagerPrivate::DSWaylandTextInputManagerPrivate(DSWaylandTextInputManager *p_ptr) + : DSObjectPrivate(p_ptr), + __p_ptr(p_ptr) +{ +} + +DSWaylandTextInputManagerPrivate::~DSWaylandTextInputManagerPrivate() +{ +} + +void DSWaylandTextInputManagerPrivate::text_input_manager_create_text_input(Resource *resource, uint32_t id) +{ +} + + +DSWaylandTextInputManager::DSWaylandTextInputManager() + : DSObject(), _d_ptr(std::make_unique(this)) +{ +} + +DSWaylandTextInputManager::~DSWaylandTextInputManager() +{ +} + + +DSWaylandTextInputPrivate::DSWaylandTextInputPrivate(DSWaylandTextInput *p_ptr) + : DSObjectPrivate(p_ptr), + __p_ptr(p_ptr) +{ +} + +DSWaylandTextInputPrivate::~DSWaylandTextInputPrivate() +{ +} + +void DSWaylandTextInputPrivate::text_input_destroy(Resource *resource) +{ +} + +void DSWaylandTextInputPrivate::text_input_activate(Resource *resource, struct ::wl_resource *seat, struct ::wl_resource *surface) +{ +} + +void DSWaylandTextInputPrivate::text_input_deactivate(Resource *resource, struct ::wl_resource *seat) +{ +} + +void DSWaylandTextInputPrivate::text_input_show_input_panel(Resource *resource) +{ +} + +void DSWaylandTextInputPrivate::text_input_hide_input_panel(Resource *resource) +{ +} + +void DSWaylandTextInputPrivate::text_input_reset(Resource *resource) +{ +} + +void DSWaylandTextInputPrivate::text_input_set_content_type(Resource *resource, uint32_t hint, uint32_t purpose) +{ +} + +void DSWaylandTextInputPrivate::text_input_set_cursor_rectangle(Resource *resource, int32_t x, int32_t y, int32_t width, int32_t height) +{ +} + +void DSWaylandTextInputPrivate::text_input_set_preferred_language(Resource *resource, const std::string &language) +{ +} + +void DSWaylandTextInputPrivate::text_input_commit_state(Resource *resource, uint32_t serial) +{ +} + +void DSWaylandTextInputPrivate::text_input_invoke_action(Resource *resource, uint32_t button, uint32_t index) +{ +} + +void DSWaylandTextInputPrivate::text_input_set_return_key_type(Resource *resource, uint32_t return_key_type) +{ +} + +void DSWaylandTextInputPrivate::text_input_set_return_key_disabled(Resource *resource, uint32_t return_key_disabled) +{ +} + +void DSWaylandTextInputPrivate::text_input_set_input_panel_data(Resource *resource, const std::string &input_panel_data, uint32_t input_panel_length) +{ +} + +void DSWaylandTextInputPrivate::text_input_bidi_direction(Resource *resource, uint32_t direction) +{ +} + +void DSWaylandTextInputPrivate::text_input_set_cursor_position(Resource *resource, uint32_t cursor_position) +{ +} + +void DSWaylandTextInputPrivate::text_input_process_input_device_event(Resource *resource, uint32_t event_type, const std::string &event_data, uint32_t event_length) +{ +} + +void DSWaylandTextInputPrivate::text_input_filter_key_event(Resource *resource, uint32_t serial, uint32_t time, const std::string &keyname, uint32_t state, uint32_t modifiers, const std::string &dev_name, uint32_t dev_class, uint32_t dev_subclass, uint32_t keycode) +{ +} + +void DSWaylandTextInputPrivate::text_input_get_hide_permission(Resource *resource) +{ +} + +void DSWaylandTextInputPrivate::text_input_set_capital_mode(Resource *resource, uint32_t mode) +{ +} + +void DSWaylandTextInputPrivate::text_input_prediction_hint(Resource *resource, const std::string &text) +{ +} + +void DSWaylandTextInputPrivate::text_input_set_mime_type(Resource *resource, const std::string &type) +{ +} + +void DSWaylandTextInputPrivate::text_input_set_input_panel_position(Resource *resource, uint32_t x, uint32_t y) +{ +} + +void DSWaylandTextInputPrivate::text_input_finalize_content(Resource *resource, const std::string &text, uint32_t cursor_position) +{ +} + +void DSWaylandTextInputPrivate::text_input_prediction_hint_data(Resource *resource, const std::string &key, const std::string &value) +{ +} + + +DSWaylandTextInput::DSWaylandTextInput() + : DSObject(), _d_ptr(std::make_unique(this)) +{ +} + +DSWaylandTextInput::~DSWaylandTextInput() +{ +} + +} \ No newline at end of file diff --git a/src/DSWaylandServer/DSWaylandTextInput.h b/src/DSWaylandServer/DSWaylandTextInput.h new file mode 100644 index 0000000..b446f68 --- /dev/null +++ b/src/DSWaylandServer/DSWaylandTextInput.h @@ -0,0 +1,27 @@ +#ifndef __DS_WAYLAND_TEXT_INPUT_H__ +#define __DS_WAYLAND_TEXT_INPUT_H__ + +#include "DSCore.h" +#include "DSObject.h" + +namespace display_server +{ + +class DSWaylandTextInputPrivate; + +class DS_DECL_EXPORT DSWaylandTextInput : public DSObject +{ +DS_PIMPL_USE_PRIVATE(DSWaylandTextInput); +public: + DSWaylandTextInput(); + ~DSWaylandTextInput() override; + +protected: + +private: + +}; + +} + +#endif //__DS_WAYLAND_TEXT_INPUT_H__ diff --git a/src/DSWaylandServer/DSWaylandTextInputManager.h b/src/DSWaylandServer/DSWaylandTextInputManager.h new file mode 100644 index 0000000..8278592 --- /dev/null +++ b/src/DSWaylandServer/DSWaylandTextInputManager.h @@ -0,0 +1,27 @@ +#ifndef __DS_WAYLAND_TEXT_INPUT_MANAGER_H__ +#define __DS_WAYLAND_TEXT_INPUT_MANAGER_H__ + +#include "DSCore.h" +#include "DSObject.h" + +namespace display_server +{ + +class DSWaylandTextInputManagerPrivate; + +class DS_DECL_EXPORT DSWaylandTextInputManager : public DSObject +{ +DS_PIMPL_USE_PRIVATE(DSWaylandTextInputManager); +public: + DSWaylandTextInputManager(); + ~DSWaylandTextInputManager() override; + +protected: + +private: + +}; + +} + +#endif //__DS_WAYLAND_TEXT_INPUT_MANAGER_H__ diff --git a/src/DSWaylandServer/DSWaylandTextInputManagerPrivate.h b/src/DSWaylandServer/DSWaylandTextInputManagerPrivate.h new file mode 100644 index 0000000..f9052fe --- /dev/null +++ b/src/DSWaylandServer/DSWaylandTextInputManagerPrivate.h @@ -0,0 +1,27 @@ +#ifndef __DS_WAYLAND_TEXT_INPUT_MANAGER_PRIVATE_H__ +#define __DS_WAYLAND_TEXT_INPUT_MANAGER_PRIVATE_H__ + +#include "dswayland-server-text.h" + +#include "DSCore.h" +#include "DSObjectPrivate.h" +#include "DSWaylandTextInputManager.h" + +namespace display_server +{ + +class DS_DECL_EXPORT DSWaylandTextInputManagerPrivate : public DSObjectPrivate, public DSWaylandServer::wl_text_input_manager +{ +DS_PIMPL_USE_PUBLIC(DSWaylandTextInputManager); +public: + DSWaylandTextInputManagerPrivate(DSWaylandTextInputManager *p_ptr); + ~DSWaylandTextInputManagerPrivate() override; + +protected: + void text_input_manager_create_text_input(Resource *resource, uint32_t id); +}; + +} + +#endif //__DS_WAYLAND_TEXT_INPUT_MANAGER_PRIVATE_H__ + diff --git a/src/DSWaylandServer/DSWaylandTextInputPrivate.h b/src/DSWaylandServer/DSWaylandTextInputPrivate.h new file mode 100644 index 0000000..ad246c0 --- /dev/null +++ b/src/DSWaylandServer/DSWaylandTextInputPrivate.h @@ -0,0 +1,51 @@ +#ifndef __DS_WAYLAND_TEXT_INPUT_PRIVATE_H__ +#define __DS_WAYLAND_TEXT_INPUT_PRIVATE_H__ + +#include "dswayland-server-text.h" + +#include "DSCore.h" +#include "DSObjectPrivate.h" +#include "DSWaylandTextInput.h" + +namespace display_server +{ + +class DS_DECL_EXPORT DSWaylandTextInputPrivate : public DSObjectPrivate, public DSWaylandServer::wl_text_input +{ +DS_PIMPL_USE_PUBLIC(DSWaylandTextInput); +public: + DSWaylandTextInputPrivate(DSWaylandTextInput *p_ptr); + ~DSWaylandTextInputPrivate() override; + +protected: + void text_input_destroy(Resource *resource); + void text_input_activate(Resource *resource, struct ::wl_resource *seat, struct ::wl_resource *surface); + void text_input_deactivate(Resource *resource, struct ::wl_resource *seat); + void text_input_show_input_panel(Resource *resource); + void text_input_hide_input_panel(Resource *resource); + void text_input_reset(Resource *resource); + void text_input_set_content_type(Resource *resource, uint32_t hint, uint32_t purpose); + void text_input_set_cursor_rectangle(Resource *resource, int32_t x, int32_t y, int32_t width, int32_t height); + void text_input_set_preferred_language(Resource *resource, const std::string &language); + void text_input_commit_state(Resource *resource, uint32_t serial); + void text_input_invoke_action(Resource *resource, uint32_t button, uint32_t index); + void text_input_set_return_key_type(Resource *resource, uint32_t return_key_type); + void text_input_set_return_key_disabled(Resource *resource, uint32_t return_key_disabled); + void text_input_set_input_panel_data(Resource *resource, const std::string &input_panel_data, uint32_t input_panel_length); + void text_input_bidi_direction(Resource *resource, uint32_t direction); + void text_input_set_cursor_position(Resource *resource, uint32_t cursor_position); + void text_input_process_input_device_event(Resource *resource, uint32_t event_type, const std::string &event_data, uint32_t event_length); + void text_input_filter_key_event(Resource *resource, uint32_t serial, uint32_t time, const std::string &keyname, uint32_t state, uint32_t modifiers, const std::string &dev_name, uint32_t dev_class, uint32_t dev_subclass, uint32_t keycode); + void text_input_get_hide_permission(Resource *resource); + void text_input_set_capital_mode(Resource *resource, uint32_t mode); + void text_input_prediction_hint(Resource *resource, const std::string &text); + void text_input_set_mime_type(Resource *resource, const std::string &type); + void text_input_set_input_panel_position(Resource *resource, uint32_t x, uint32_t y); + void text_input_finalize_content(Resource *resource, const std::string &text, uint32_t cursor_position); + void text_input_prediction_hint_data(Resource *resource, const std::string &key, const std::string &value); +}; + +} + +#endif //__DS_WAYLAND_TEXT_INPUT_PRIVATE_H__ + diff --git a/src/meson.build b/src/meson.build index 7e5401b..039ee4f 100644 --- a/src/meson.build +++ b/src/meson.build @@ -125,6 +125,11 @@ libds_wayland_srcs = [ 'DSWaylandServer/DSWaylandInputMethodPrivate.h', 'DSWaylandServer/DSWaylandInputMethod.h', 'DSWaylandServer/DSWaylandInputMethod.cpp', + 'DSWaylandServer/DSWaylandTextInputManagerPrivate.h', + 'DSWaylandServer/DSWaylandTextInputManager.h', + 'DSWaylandServer/DSWaylandTextInputPrivate.h', + 'DSWaylandServer/DSWaylandTextInput.h', + 'DSWaylandServer/DSWaylandTextInput.cpp', ] libds_srcs += libds_wayland_srcs -- 2.7.4