/*
- * Copyright (c) 2018 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
*/
#include <dali-toolkit/dali-toolkit.h>
-#include "dali-toolkit/devel-api/controls/web-view/web-view.h"
#include <dali/integration-api/debug.h>
+#include "dali-toolkit/devel-api/controls/web-view/web-view.h"
using namespace Dali;
-namespace{
-
+namespace
+{
}
class WebViewController : public ConnectionTracker
{
public:
-
- WebViewController( Application& application )
- : mApplication( application )
- , mUrlPointer( 0 )
+ WebViewController(Application& application)
+ : mApplication(application),
+ mUrlPointer(0)
{
// Connect to the Application's Init signal
- mApplication.InitSignal().Connect( this, &WebViewController::Create );
+ mApplication.InitSignal().Connect(this, &WebViewController::Create);
}
~WebViewController()
const char* GetNextUrl()
{
- static const unsigned int kUrlSize = 3;
- static const char* kUrls[kUrlSize] = {
+ static const unsigned int kUrlSize = 3;
+ static const char* kUrls[kUrlSize] = {
"https://webkit.org/blog-files/3d-transforms/poster-circle.html",
"https://www.amazon.com",
- "https://www.google.com"
- };
+ "https://www.google.com"};
mUrlPointer %= kUrlSize;
return kUrls[mUrlPointer++];
}
// The Init signal is received once (only) during the Application lifetime
- void Create( Application& application )
+ void Create(Application& application)
{
- // Get a handle to the stage
- Stage stage = Stage::GetCurrent();
- stage.SetBackgroundColor( Vector4(0.2, 0.6, 1, 1) );
+ // Get a handle to the window
+ Window window = application.GetWindow();
+ window.SetBackgroundColor(Vector4(0.2, 0.6, 1, 1));
- float width = stage.GetSize().width;
- float height = stage.GetSize().height;
+ float width = window.GetSize().GetWidth();
+ float height = window.GetSize().GetHeight();
float fontSize = width * 0.02f;
- mWebView = Toolkit::WebView::New( "ko-KR", "Asia/Seoul" );
- mWebView.SetParentOrigin( Dali::ParentOrigin::CENTER );
- mWebView.SetAnchorPoint( Dali::AnchorPoint::CENTER );
- mWebView.SetPosition( 0, 0 );
- mWebView.SetSize( width, height );
- mWebView.PageLoadStartedSignal().Connect( this, &WebViewController::OnPageLoadStarted );
- mWebView.PageLoadFinishedSignal().Connect( this, &WebViewController::OnPageLoadFinished );
+ mWebView = Toolkit::WebView::New("ko-KR", "Asia/Seoul");
+ mWebView.SetProperty(Actor::Property::PARENT_ORIGIN, Dali::ParentOrigin::CENTER);
+ mWebView.SetProperty(Actor::Property::ANCHOR_POINT, Dali::AnchorPoint::CENTER);
+ mWebView.SetProperty(Actor::Property::POSITION, Vector2(0, 0));
+ mWebView.SetProperty(Actor::Property::SIZE, Vector2(width, height));
+ mWebView.PageLoadStartedSignal().Connect(this, &WebViewController::OnPageLoadStarted);
+ mWebView.PageLoadFinishedSignal().Connect(this, &WebViewController::OnPageLoadFinished);
std::string url = GetNextUrl();
- mWebView.LoadUrl( url );
- stage.Add(mWebView);
+ mWebView.LoadUrl(url);
+ window.Add(mWebView);
- mAddressLabel = Toolkit::TextLabel::New( url );
- mAddressLabel.SetAnchorPoint( AnchorPoint::TOP_LEFT );
- mAddressLabel.SetProperty( Toolkit::TextLabel::Property::POINT_SIZE, fontSize );
- mAddressLabel.SetProperty( Toolkit::TextLabel::Property::TEXT_COLOR, Color::WHITE );
- mAddressLabel.SetBackgroundColor( Vector4( 0, 0, 0, 0.5f ) );
- mAddressLabel.TouchedSignal().Connect( this, &WebViewController::OnTouchText );
- stage.Add( mAddressLabel );
+ mAddressLabel = Toolkit::TextLabel::New(url);
+ mAddressLabel.SetProperty(Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_LEFT);
+ mAddressLabel.SetProperty(Toolkit::TextLabel::Property::POINT_SIZE, fontSize);
+ mAddressLabel.SetProperty(Toolkit::TextLabel::Property::TEXT_COLOR, Color::WHITE);
+ mAddressLabel.SetBackgroundColor(Vector4(0, 0, 0, 0.5f));
+ mAddressLabel.TouchedSignal().Connect(this, &WebViewController::OnTouchText);
+ window.Add(mAddressLabel);
// Respond to key events
- stage.KeyEventSignal().Connect( this, &WebViewController::OnKeyEvent );
- Toolkit::KeyboardFocusManager::Get().SetCurrentFocusActor( mWebView );
+ window.KeyEventSignal().Connect(this, &WebViewController::OnKeyEvent);
+ Toolkit::KeyboardFocusManager::Get().SetCurrentFocusActor(mWebView);
}
- void OnPageLoadStarted( Toolkit::WebView view, const std::string& url )
+ void OnPageLoadStarted(Toolkit::WebView view, const std::string& url)
{
- mAddressLabel.SetProperty( Toolkit::TextLabel::Property::TEXT, "Loading" );
+ mAddressLabel.SetProperty(Toolkit::TextLabel::Property::TEXT, "Loading");
}
- void OnPageLoadFinished( Toolkit::WebView view, const std::string& url )
+ void OnPageLoadFinished(Toolkit::WebView view, const std::string& url)
{
- mAddressLabel.SetProperty( Toolkit::TextLabel::Property::TEXT, url.c_str() );
+ mAddressLabel.SetProperty(Toolkit::TextLabel::Property::TEXT, url.c_str());
}
- bool OnTouchText( Actor actor, const TouchEvent& event )
+ bool OnTouchText(Actor actor, const TouchEvent& touch)
{
- if ( event.GetPoint( 0 ).state == TouchPoint::Up )
+ if(touch.GetState(0) == PointState::UP)
{
std::string url = GetNextUrl();
- mAddressLabel.SetProperty(Toolkit::TextLabel::Property::TEXT, "Waiting" );
- mWebView.LoadUrl( url );
+ mAddressLabel.SetProperty(Toolkit::TextLabel::Property::TEXT, "Waiting");
+ mWebView.LoadUrl(url);
}
return true;
}
- void OnKeyEvent( const KeyEvent& event )
+ void OnKeyEvent(const KeyEvent& event)
{
- if( event.state == KeyEvent::Down )
+ if(event.GetState() == KeyEvent::DOWN)
{
- if ( IsKey( event, Dali::DALI_KEY_ESCAPE ) || IsKey( event, Dali::DALI_KEY_BACK ) )
+ if(IsKey(event, Dali::DALI_KEY_ESCAPE) || IsKey(event, Dali::DALI_KEY_BACK))
{
mApplication.Quit();
}
}
private:
- Application& mApplication;
- Toolkit::WebView mWebView;
+ Application& mApplication;
+ Toolkit::WebView mWebView;
Toolkit::TextLabel mAddressLabel;
- unsigned int mUrlPointer;
+ unsigned int mUrlPointer;
};
-int DALI_EXPORT_API main( int argc, char **argv )
+int DALI_EXPORT_API main(int argc, char** argv)
{
- Application application = Application::New( &argc, &argv );
- WebViewController test( application );
+ Application application = Application::New(&argc, &argv);
+ WebViewController test(application);
application.MainLoop();
return 0;
}