NativeAppWindow::~NativeAppWindow() {
}
-Evas_Object* NativeAppWindow::createWindowInternal() {
+Evas_Object* NativeAppWindow::CreateWindowInternal() {
elm_config_preferred_engine_set("opengl_x11");
return elm_win_add(NULL, "wrt-widget", ELM_WIN_BASIC);
}
NativeAppWindow();
virtual ~NativeAppWindow();
protected:
- Evas_Object* createWindowInternal(); // override
+ Evas_Object* CreateWindowInternal(); // override
};
} // namespace wrt
uint16_t pid = getpid();
// window
- window_ = createWindowInternal();
+ window_ = CreateWindowInternal();
elm_win_conformant_set(window_, EINA_TRUE);
int w, h;
#if defined(HAVE_X11)
evas_object_resize(window_, w, h);
elm_win_autodel_set(window_, EINA_TRUE);
evas_object_smart_callback_add(window_, "delete,request",
- didDeleteRequested, this);
+ DidDeleteRequested, this);
evas_object_smart_callback_add(window_, "profile,changed",
- didProfileChanged, this);
+ DidProfileChanged, this);
#define EVAS_SIZE_EXPAND_FILL(obj) \
evas_object_size_hint_weight_set(obj, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); \
initialized_ = true;
}
-void NativeWindow::didDeleteRequested(void* /*data*/,
+void NativeWindow::DidDeleteRequested(void* /*data*/,
Evas_Object* /*obj*/, void* /*event_info*/) {
LoggerD("didDeleteRequested");
elm_exit();
}
-void NativeWindow::didProfileChanged(void* data,
+void NativeWindow::DidProfileChanged(void* data,
Evas_Object* /*obj*/, void* /*event_info*/) {
LoggerD("didProfileChanged");
}
handler_table_.erase(id);
}
-int NativeWindow::rotation() const {
- return rotation_;
-}
-
void NativeWindow::SetRotationLock(int degree) {
rotation_ = degree%360;
elm_win_wm_rotation_preferred_rotation_set(window_, rotation_);
void SetAutoRotation();
int AddRotationHandler(RotationHandler handler);
void RemoveRotationHandler(int id);
- int rotation() const;
+ int rotation() const { return rotation_; }
void Show();
protected:
- virtual Evas_Object* createWindowInternal() = 0;
+ virtual Evas_Object* CreateWindowInternal() = 0;
private:
- static void didDeleteRequested(void* data, Evas_Object* obj,
+ static void DidDeleteRequested(void* data, Evas_Object* obj,
void* event_info);
- static void didProfileChanged(void* data, Evas_Object* obj, void* event_info);
+ static void DidProfileChanged(void* data, Evas_Object* obj, void* event_info);
void DidRotation(int degree);
void DidFocusChanged(bool got);
}
std::string WebApplication::GetDataPath() const {
- // TODO(sngn.lee): To be Implements
+ // TODO(sngn.lee): To be implemented
return std::string("./");
}
void WebApplication::OnRendered(WebView* view) {
}
+void WebApplication::OnReceivedWrtMessage(
+ WebView* view,
+ const Ewk_IPC_Wrt_Message_Data& message) {
+ // TODO(wy80.choi): To be implemented
+}
+
} // namespace wrt
#include <string>
#include <list>
+
#include "runtime/web_view.h"
class Ewk_Context;
virtual void OnCreatedNewWebView(WebView* view, WebView* new_view);
virtual void OnClosedWebView(WebView * view);
virtual void OnRendered(WebView* view);
+ virtual void OnReceivedWrtMessage(WebView* view,
+ const Ewk_IPC_Wrt_Message_Data& message);
private:
void ClearViewStack();
localfile_exceeded_callback,
NULL);
+ // wrt,message
+ auto wrt_message_callback = [](void* user_data,
+ Evas_Object*,
+ void* event_info) {
+ WebView* self = static_cast<WebView*>(user_data);
+ Ewk_IPC_Wrt_Message_Data* msg =
+ static_cast<Ewk_IPC_Wrt_Message_Data*>(event_info);
+ if (self->listener_)
+ self->listener_->OnReceivedWrtMessage(self, *msg);
+ };
+ evas_object_smart_callback_add(ewk_view_,
+ "wrt,message",
+ wrt_message_callback,
+ this);
+
+ // rotation support
ewk_view_orientation_send(ewk_view_, ToWebRotation(window_->rotation()));
rotation_handler_id_ = window_->AddRotationHandler(
std::bind(&WebView::OnRotation,
#ifndef WRT_RUNTIME_WEB_VIEW_H_
#define WRT_RUNTIME_WEB_VIEW_H_
+
#include <Elementary.h>
#include <efl_assist.h>
+#include <ewk_ipc_message.h>
#include <string>
class Ewk_Context;
WebView* /*new_view*/) {}
virtual void OnClosedWebView(WebView* /*view*/) {}
virtual void OnCrashed(WebView* /*view*/) {}
- virtual bool OnDidOpenWindow(WebView* /*view*/,
- const std::string& /*url*/) { return true; }
- virtual bool OnDidNavigation(WebView* /*view*/,
- const std::string& /*url*/) { return true; }
- virtual void OnHardwareKey(WebView* /*void*/,
- const std::string& /*keyname*/) {}
+ virtual bool OnDidOpenWindow(
+ WebView* /*view*/, const std::string& /*url*/) { return true; }
+ virtual bool OnDidNavigation(
+ WebView* /*view*/, const std::string& /*url*/) { return true; }
+ virtual void OnHardwareKey(
+ WebView* /*view*/, const std::string& /*keyname*/) {}
+ virtual void OnReceivedWrtMessage(
+ WebView* /*view*/, const Ewk_IPC_Wrt_Message_Data& /*msg*/) {}
};
WebView(wrt::NativeWindow* window, Ewk_Context* context);