void EwkView::handleEvasObjectCalculate(Evas_Object* evasObject) { Ewk_View_Smart_Data* smartData = toSmartData(evasObject); ASSERT(smartData); EwkView* self = toEwkView(smartData); smartData->changed.any = false; Evas_Coord x, y, width, height; evas_object_geometry_get(evasObject, &x, &y, &width, &height); if (smartData->changed.position) { smartData->changed.position = false; smartData->view.x = x; smartData->view.y = y; evas_object_move(smartData->image, x, y); WKViewSetUserViewportTranslation(self->wkView(), x, y); } if (smartData->changed.size) { smartData->changed.size = false; smartData->view.w = width; smartData->view.h = height; WKViewSetSize(self->wkView(), WKSizeMake(width, height)); if (WKPageUseFixedLayout(self->wkPage())) self->pageViewportController().didChangeViewportSize(self->size()); self->setNeedsSurfaceResize(); } }
void EwkView::handleEvasObjectCalculate(Evas_Object* evasObject) { Ewk_View_Smart_Data* smartData = toSmartData(evasObject); ASSERT(smartData); EwkView* view = toEwkView(smartData); ASSERT(view); smartData->changed.any = false; Evas_Coord x, y, width, height; evas_object_geometry_get(evasObject, &x, &y, &width, &height); if (smartData->changed.position) { smartData->changed.position = false; smartData->view.x = x; smartData->view.y = y; evas_object_move(smartData->image, x, y); } if (smartData->changed.size) { smartData->changed.size = false; smartData->view.w = width; smartData->view.h = height; if (view->page()->drawingArea()) view->page()->drawingArea()->setSize(IntSize(width, height), IntSize()); view->setNeedsSurfaceResize(); view->pageClient()->updateViewportSize(); } }