BuildRequires: pkgconfig(capi-network-bluetooth)
BuildRequires: pkgconfig(capi-network-bluetooth-tv)
BuildRequires: pkgconfig(cynara-client)
+BuildRequires: pkgconfig(feature-config-enum-header)
BuildRequires: pkgconfig(graphics-control)
BuildRequires: pkgconfig(security-privilege-manager)
BuildRequires: pkgconfig(drmdecrypt)
#if BUILDFLAG(IS_TIZEN_TV)
#include <display-rotator-api.h>
+#include <feature_config_enum.h>
#include <sensor.h>
#include "base/files/file_util.h"
return is_lite_memory_board.value();
}
+#if TIZEN_VERSION_AT_LEAST(9, 0, 0)
+int GetIMEResolution() {
+ static absl::optional<int> ime_resolution;
+ if (ime_resolution.has_value())
+ return ime_resolution.value();
+
+ int resolution = FMS_IME_RESOLUTION_2K;
+ if (SYSTEM_INFO_ERROR_NONE !=
+ system_info_get_custom_int("com.samsung/featureconf/ime.resolution",
+ &resolution)) {
+ LOG(ERROR) << "Fail to get system info: ime.resolution";
+ }
+ LOG(INFO) << "ime.resolution : " << resolution;
+ ime_resolution = resolution;
+
+ return ime_resolution.value();
+}
+#endif
+
#endif
} // namespace wrt
bool IsDisplayRotatorSupported();
bool IsSensorSupported();
bool IsLiteMemoryBoard();
+#if TIZEN_VERSION_AT_LEAST(9, 0, 0)
+int GetIMEResolution();
+#endif
#endif
} // namespace wrt
#include <Ecore_Wl2.h>
#include "base/task/single_thread_task_runner.h"
+#include "build/tizen_version.h"
#include "content/browser/renderer_host/render_widget_host_view_aura.h"
#include "ui/views/view.h"
#include "ui/views/widget/native_widget_private.h"
#include "wrt/src/browser/wrt_native_widget.h"
#include "wrt/src/browser/wrt_window_tree_host.h"
+#if BUILDFLAG(IS_TIZEN_TV) && TIZEN_VERSION_AT_LEAST(9, 0, 0)
+#include <feature_config_enum.h>
+
+#include "wrt/src/base/platform_info.h"
+#endif
+
namespace wrt {
WRTNativeWindowOnScreen::WRTNativeWindowOnScreen() {
ECORE_WL2_VIRTUAL_KEYBOARD_STATE_ON) {
ecore_wl2_window_keyboard_geometry_get(
wl2_window, &x, &y, &width, &height);
+#if BUILDFLAG(IS_TIZEN_TV) && TIZEN_VERSION_AT_LEAST(9, 0, 0)
+ if (GetIMEResolution() == FMS_IME_RESOLUTION_4K) {
+ x /= 2;
+ y /= 2;
+ width /= 2;
+ height /= 2;
+ }
+#endif
rect.Subtract(gfx::Rect(x, y, width, height));
}
if (ecore_wl2_window_clipboard_state_get(wl2_window) ==