Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 1 addition & 2 deletions shell/platform/tizen/flutter_tizen_elementary.cc
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,5 @@ void FlutterDesktopViewResize(FlutterDesktopViewRef view_ref,
int32_t width,
int32_t height) {
auto* view = reinterpret_cast<flutter::FlutterTizenView*>(view_ref);
flutter::TizenGeometry view_geometry = {0, 0, width, height};
view->tizen_view()->OnGeometryChanged(view_geometry);
view->OnResize(0, 0, width, height);
}
4 changes: 0 additions & 4 deletions shell/platform/tizen/tizen_view_base.h
Original file line number Diff line number Diff line change
Expand Up @@ -48,10 +48,6 @@ class TizenViewBase {

virtual void ResizeWithRotation(TizenGeometry geometry, int32_t degree) = 0;

// FIXME
// This is a temporary implementation that is only used by the window channel.
Comment on lines -51 to -52
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would you move this comment into TizenWindow too?

virtual void OnGeometryChanged(TizenGeometry geometry) = 0;

virtual void Show() = 0;

virtual TizenViewType GetType() = 0;
Expand Down
32 changes: 26 additions & 6 deletions shell/platform/tizen/tizen_view_elementary.cc
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,6 @@ bool TizenViewElementary::CreateView() {
return false;
}
evas_object_size_hint_align_set(image_, EVAS_HINT_FILL, EVAS_HINT_FILL);
EvasObjectResize(image_, initial_width_, initial_height_);
evas_object_image_size_set(image_, initial_width_, initial_height_);
evas_object_image_alpha_set(image_, EINA_TRUE);
elm_table_pack(container_, image_, 0, 0, 1, 1);
Expand All @@ -107,6 +106,8 @@ bool TizenViewElementary::CreateView() {
evas_object_color_set(event_layer_, 0, 0, 0, 0);
elm_table_pack(container_, event_layer_, 0, 0, 1, 1);

SetGeometry(TizenGeometry{0, 0, initial_width_, initial_height_});

return true;
}

Expand All @@ -117,6 +118,22 @@ void TizenViewElementary::DestroyView() {
}

void TizenViewElementary::RegisterEventHandlers() {
evas_object_callbacks_[EVAS_CALLBACK_RESIZE] =
[](void* data, Evas* evas, Evas_Object* object, void* event_info) {
auto* self = reinterpret_cast<TizenViewElementary*>(data);
if (self->view_) {
if (self->container_ == object) {
int32_t width = 0, height = 0;
evas_object_geometry_get(object, nullptr, nullptr, &width, &height);

self->view_->OnResize(0, 0, width, height);
}
}
};
evas_object_event_callback_add(container_, EVAS_CALLBACK_RESIZE,
evas_object_callbacks_[EVAS_CALLBACK_RESIZE],
this);

evas_object_callbacks_[EVAS_CALLBACK_MOUSE_DOWN] =
[](void* data, Evas* evas, Evas_Object* object, void* event_info) {
auto* self = reinterpret_cast<TizenViewElementary*>(data);
Expand Down Expand Up @@ -263,6 +280,8 @@ void TizenViewElementary::RegisterEventHandlers() {
}

void TizenViewElementary::UnregisterEventHandlers() {
evas_object_event_callback_del(container_, EVAS_CALLBACK_RESIZE,
evas_object_callbacks_[EVAS_CALLBACK_RESIZE]);
evas_object_event_callback_del(
image_, EVAS_CALLBACK_MOUSE_DOWN,
evas_object_callbacks_[EVAS_CALLBACK_MOUSE_DOWN]);
Expand Down Expand Up @@ -292,6 +311,10 @@ TizenGeometry TizenViewElementary::GetGeometry() {
void TizenViewElementary::SetGeometry(TizenGeometry geometry) {
EvasObjectResize(image_, geometry.width, geometry.height);
evas_object_move(image_, geometry.left, geometry.top);
evas_object_image_size_set(image_, geometry.width, geometry.height);

EvasObjectResize(container_, geometry.width, geometry.height);
evas_object_move(container_, geometry.left, geometry.top);
}

int32_t TizenViewElementary::GetDpi() {
Expand All @@ -309,6 +332,8 @@ uintptr_t TizenViewElementary::GetWindowId() {

void TizenViewElementary::ResizeWithRotation(TizenGeometry geometry,
int32_t angle) {
SetGeometry(geometry);

TizenRendererEvasGL* renderer_evas_gl =
reinterpret_cast<TizenRendererEvasGL*>(view_->engine()->renderer());
renderer_evas_gl->ResizeSurface(geometry.width, geometry.height);
Expand All @@ -320,11 +345,6 @@ void TizenViewElementary::Show() {
evas_object_show(event_layer_);
}

void TizenViewElementary::OnGeometryChanged(TizenGeometry geometry) {
SetGeometry(geometry);
view_->OnResize(geometry.left, geometry.top, geometry.width, geometry.height);
}

void TizenViewElementary::PrepareInputMethod() {
input_method_context_ =
std::make_unique<TizenInputMethodContext>(GetWindowId());
Expand Down
2 changes: 0 additions & 2 deletions shell/platform/tizen/tizen_view_elementary.h
Original file line number Diff line number Diff line change
Expand Up @@ -40,8 +40,6 @@ class TizenViewElementary : public TizenView {

void Show() override;

void OnGeometryChanged(TizenGeometry geometry) override;

private:
bool CreateView();

Expand Down
2 changes: 2 additions & 0 deletions shell/platform/tizen/tizen_window.h
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,8 @@ class TizenWindow : public TizenViewBase {
// Returns the geometry of the display screen.
virtual TizenGeometry GetScreenGeometry() = 0;

virtual void OnGeometryChanged(TizenGeometry geometry) = 0;

virtual void BindKeys(const std::vector<std::string>& keys) = 0;

TizenViewType GetType() override { return TizenViewType::kWindow; };
Expand Down