Merge remote-tracking branch 'origin/tizen' into new_text 09/37109/2
authorPaul Wisbey <p.wisbey@samsung.com>
Thu, 19 Mar 2015 09:55:27 +0000 (09:55 +0000)
committerPaul Wisbey <p.wisbey@samsung.com>
Thu, 19 Mar 2015 09:58:34 +0000 (09:58 +0000)
Conflicts:
automated-tests/src/dali-toolkit/utc-Dali-Builder.cpp
dali-toolkit/internal/controls/text-input/text-input-decorator-impl.cpp
dali-toolkit/internal/controls/text-input/text-input-impl.cpp
dali-toolkit/internal/controls/text-view/text-view-impl.cpp

Change-Id: Ibbbecdb2962e4f0cfce3ff0e7c91efcd8bfb2170

1  2 
automated-tests/src/dali-toolkit/CMakeLists.txt
build/tizen/configure.ac
dali-toolkit/dali-toolkit.h
dali-toolkit/internal/text/clipping/text-clipper.cpp
dali-toolkit/public-api/file.list

@@@ -24,12 -24,10 +24,10 @@@ SET(TC_SOURCE
     utc-Dali-JsonParser.cpp
     utc-Dali-KeyInputFocusManager.cpp
     utc-Dali-NavigationControl.cpp
-    utc-Dali-NavigationLayout.cpp
     utc-Dali-OverlayEffect.cpp
     utc-Dali-Page.cpp
     utc-Dali-PageTurnEffect.cpp
     utc-Dali-PageTurnView.cpp
-    utc-Dali-RollLayout.cpp
     utc-Dali-ScrollView.cpp
     utc-Dali-ShadowView.cpp
     utc-Dali-ShearEffect.cpp
@@@ -53,6 -51,7 +51,6 @@@
     utc-Dali-ItemLayout.cpp
     utc-Dali-ItemView.cpp
     utc-Dali-KeyboardFocusManager.cpp
 -   utc-Dali-MarkupProcessor.cpp
     utc-Dali-MaskEffect.cpp
     utc-Dali-NinePatchMaskEffect.cpp
     utc-Dali-Popup.cpp
@@@ -64,6 -63,8 +62,6 @@@
     utc-Dali-StyleManager.cpp
     utc-Dali-SuperBlurView.cpp
     utc-Dali-SwirlEffect.cpp
 -   utc-Dali-TextInput.cpp
 -   utc-Dali-TextView.cpp
  )
  
  # Append list of test harness files (Won't get parsed for test cases)
diff --combined build/tizen/configure.ac
@@@ -30,6 -30,7 +30,6 @@@ AC_SUBST(DALI_TOOLKIT_VERSION
  
  PKG_CHECK_MODULES(DALICORE, dali-core)
  PKG_CHECK_MODULES(DALI, dali)
 -PKG_CHECK_MODULES(FRIBIDI, fribidi)
  
  DALI_TOOLKIT_CFLAGS=-DPLATFORM_TIZEN
  
@@@ -68,7 -69,7 +68,7 @@@ AM_CONDITIONAL([ENABLE_JAVASCRIPT_PLUGI
  
  # Tizen Profile options
  AC_ARG_ENABLE([profile],
-               [AC_HELP_STRING([--enable-profile=COMMON,MOBILE,LITE,WEARABLE,TV],
+               [AC_HELP_STRING([--enable-profile=COMMON,MOBILE,WEARABLE,TV],
                              [Select the variant of tizen])],
                [dali_profile=$enableval],
                [dali_profile=COMMON])
@@@ -85,10 -86,6 +85,10 @@@ els
    dataReadOnlyDir=${prefix}/share/dali/
  fi
  
 +DALI_TOOLKIT_CFLAGS="$DALI_TOOLKIT_CFLAGS -DDALI_PROFILE_${enable_profile}"
 +AM_CONDITIONAL([COMMON_PROFILE], [test x$enable_profile = xCOMMON])
 +AM_CONDITIONAL([MOBILE_PROFILE], [test x$enable_profile = xMOBILE])
 +
  AC_SUBST(dataReadWriteDir)
  AC_SUBST(dataReadOnlyDir)
  AC_SUBST(DALI_TOOLKIT_CFLAGS)
@@@ -57,8 -57,6 +57,6 @@@
  #include <dali-toolkit/public-api/controls/scrollable/item-view/item-factory.h>
  #include <dali-toolkit/public-api/controls/scrollable/item-view/item-layout.h>
  #include <dali-toolkit/public-api/controls/scrollable/item-view/item-view.h>
- #include <dali-toolkit/public-api/controls/scrollable/item-view/navigation-layout.h>
- #include <dali-toolkit/public-api/controls/scrollable/item-view/roll-layout.h>
  #include <dali-toolkit/public-api/controls/scrollable/item-view/spiral-layout.h>
  #include <dali-toolkit/public-api/controls/scrollable/scroll-view/scroll-view-carousel-effect.h>
  #include <dali-toolkit/public-api/controls/scrollable/scroll-view/scroll-view-constraints.h>
@@@ -75,8 -73,8 +73,8 @@@
  #include <dali-toolkit/public-api/controls/slider/slider.h>
  #include <dali-toolkit/public-api/controls/super-blur-view/super-blur-view.h>
  #include <dali-toolkit/public-api/controls/table-view/table-view.h>
 -#include <dali-toolkit/public-api/controls/text-input/text-input.h>
 -#include <dali-toolkit/public-api/controls/text-view/text-view.h>
 +#include <dali-toolkit/public-api/controls/text-controls/text-field.h>
 +#include <dali-toolkit/public-api/controls/text-controls/text-label.h>
  #include <dali-toolkit/public-api/controls/tool-bar/tool-bar.h>
  #include <dali-toolkit/public-api/controls/view/view.h>
  
  #include <dali-toolkit/public-api/focus-manager/keyboard-focus-manager.h>
  #include <dali-toolkit/public-api/focus-manager/keyinput-focus-manager.h>
  
 -#include <dali-toolkit/public-api/markup-processor/markup-processor.h>
 -
  #include <dali-toolkit/public-api/scripting/script.h>
  #include <dali-toolkit/public-api/scripting/script-plugin.h>
  
 +#include <dali-toolkit/public-api/text/rendering-backend.h>
 +
  #include <dali-toolkit/public-api/shader-effects/alpha-discard-effect.h>
  #include <dali-toolkit/public-api/shader-effects/bendy-effect.h>
  #include <dali-toolkit/public-api/shader-effects/blind-effect.h>
index 416fdba,0000000..b2478e4
mode 100644,000000..100644
--- /dev/null
@@@ -1,157 -1,0 +1,156 @@@
-   mOffscreenRootActor.SetInheritRotation( false );
 +/*
 + * Copyright (c) 2015 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.
 + * You may obtain a copy of the License at
 + *
 + * http://www.apache.org/licenses/LICENSE-2.0
 + *
 + * Unless required by applicable law or agreed to in writing, software
 + * distributed under the License is distributed on an "AS IS" BASIS,
 + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 + * See the License for the specific language governing permissions and
 + * limitations under the License.
 + *
 + */
 +
 +// CLASS HEADER
 +#include <dali-toolkit/internal/text/clipping/text-clipper.h>
 +
 +// EXTERNAL INCLUDES
 +#include <algorithm>
 +#include <dali/public-api/common/stage.h>
 +#include <dali/public-api/render-tasks/render-task-list.h>
 +#include <dali/integration-api/debug.h>
 +
 +namespace
 +{
 +
 +// Currently on desktop machines 2k x 2k is the maximum frame buffer size, on target is 4k x 4k.
 +const float MAX_OFFSCREEN_RENDERING_SIZE = 2048.f;
 +
 +} // namespace
 +
 +
 +namespace Dali
 +{
 +
 +namespace Toolkit
 +{
 +
 +namespace Text
 +{
 +
 +ClipperPtr Clipper::New( const Vector2& size )
 +{
 +  ClipperPtr clipper( new Clipper() );
 +
 +  // Second-phase init
 +  clipper->Initialize( size );
 +
 +  return clipper;
 +}
 +
 +Actor Clipper::GetRootActor() const
 +{
 +  return mOffscreenRootActor;
 +}
 +
 +ImageActor Clipper::GetImageActor() const
 +{
 +  return mImageActor;
 +}
 +
 +void Clipper::Refresh( const Vector2& size )
 +{
 +  const Size offscreenSize( std::min( MAX_OFFSCREEN_RENDERING_SIZE, size.width ),
 +                            std::min( MAX_OFFSCREEN_RENDERING_SIZE, size.height ) );
 +
 +  const bool sizeChanged = offscreenSize != mCurrentOffscreenSize;
 +
 +  if( sizeChanged )
 +  {
 +    // Reconfigure camera for current size.
 +    mOffscreenCameraActor.SetOrthographicProjection( offscreenSize );
 +
 +    // Recreate frame buffer for offscreen rendering when the size changes.
 +    FrameBufferImage frameBufferImage = FrameBufferImage::New( offscreenSize.width,
 +                                                               offscreenSize.height,
 +                                                               Pixel::RGBA8888 );
 +    mImageActor.SetSize( offscreenSize );
 +    mImageActor.SetImage( frameBufferImage );
 +    mRenderTask.SetTargetFrameBuffer( frameBufferImage );
 +
 +    // Stores current size to avoid create new Dali resources if text changes.
 +    mCurrentOffscreenSize = offscreenSize;
 +  }
 +
 +  mRenderTask.SetRefreshRate( RenderTask::REFRESH_ONCE );
 +}
 +
 +void Clipper::Initialize( const Vector2& size )
 +{
 +  const Size offscreenSize( std::min( MAX_OFFSCREEN_RENDERING_SIZE, size.width ),
 +                            std::min( MAX_OFFSCREEN_RENDERING_SIZE, size.height ) );
 +
 +  // Create a root actor and an image actor for offscreen rendering.
 +  mOffscreenRootActor = Layer::New();
 +  mOffscreenRootActor.SetColorMode( USE_OWN_COLOR );
 +  mOffscreenRootActor.SetPositionInheritanceMode( DONT_INHERIT_POSITION );
 +  mOffscreenRootActor.SetInheritScale( false );
 +  mOffscreenRootActor.SetDepthTestDisabled( true );
 +  mOffscreenRootActor.SetSize( offscreenSize );
 +
 +  mImageActor = ImageActor::New();
 +  mImageActor.SetParentOrigin( ParentOrigin::CENTER );
 +  mImageActor.SetBlendFunc( BlendingFactor::ONE, BlendingFactor::ONE_MINUS_SRC_ALPHA,
 +                            BlendingFactor::ONE, BlendingFactor::ONE );
 +  mImageActor.SetScale( Vector3( 1.0f, -1.0f, 1.0f ) );
 +  mImageActor.SetSize( offscreenSize );
 +
 +  // Creates a new camera actor.
 +  mOffscreenCameraActor = CameraActor::New();
 +  mOffscreenCameraActor.SetParentOrigin( ParentOrigin::CENTER );
 +  mOffscreenCameraActor.SetOrthographicProjection( offscreenSize );
 +  mOffscreenRootActor.Add( mOffscreenCameraActor ); // camera to shoot the offscreen text
 +
 +  // Creates a new render task.
 +  mRenderTask = Stage::GetCurrent().GetRenderTaskList().CreateTask();
 +  mRenderTask.SetSourceActor( mOffscreenRootActor );
 +  mRenderTask.SetClearColor( Color::TRANSPARENT );
 +  mRenderTask.SetClearEnabled( true );
 +  mRenderTask.SetExclusive( true );
 +  mRenderTask.SetCameraActor( mOffscreenCameraActor );
 +
 +  // Creates a frame buffer for offscreen rendering
 +  FrameBufferImage frameBufferImage = FrameBufferImage::New( offscreenSize.width,
 +                                                             offscreenSize.height,
 +                                                             Pixel::RGBA8888 );
 +  mImageActor.SetImage( frameBufferImage );
 +  mRenderTask.SetTargetFrameBuffer( frameBufferImage );
 +
 +  // Stores current size to avoid create new Dali resources if text changes.
 +  mCurrentOffscreenSize = offscreenSize;
 +}
 +
 +Clipper::Clipper()
 +{
 +}
 +
 +Clipper::~Clipper()
 +{
 +  if( Stage::IsInstalled() )
 +  {
 +    UnparentAndReset( mOffscreenRootActor );
 +    UnparentAndReset( mImageActor );
 +
 +    Stage::GetCurrent().GetRenderTaskList().RemoveTask( mRenderTask );
 +  }
 +}
 +
 +} // namespace Text
 +
 +} // namespace Toolkit
 +
 +} // namespace Dali
@@@ -29,8 -29,6 +29,6 @@@ public_api_src_files = 
    $(public_api_src_dir)/controls/scrollable/item-view/item-factory.cpp \
    $(public_api_src_dir)/controls/scrollable/item-view/item-layout.cpp \
    $(public_api_src_dir)/controls/scrollable/item-view/item-view.cpp \
-   $(public_api_src_dir)/controls/scrollable/item-view/navigation-layout.cpp \
-   $(public_api_src_dir)/controls/scrollable/item-view/roll-layout.cpp \
    $(public_api_src_dir)/controls/scrollable/item-view/spiral-layout.cpp \
    $(public_api_src_dir)/controls/scrollable/scroll-view/scroll-view-carousel-effect.cpp \
    $(public_api_src_dir)/controls/scrollable/scroll-view/scroll-view-constraints.cpp \
@@@ -50,8 -48,8 +48,8 @@@
    $(public_api_src_dir)/controls/slider/slider.cpp \
    $(public_api_src_dir)/controls/super-blur-view/super-blur-view.cpp \
    $(public_api_src_dir)/controls/table-view/table-view.cpp \
 -  $(public_api_src_dir)/controls/text-input/text-input.cpp \
 -  $(public_api_src_dir)/controls/text-view/text-view.cpp \
 +  $(public_api_src_dir)/controls/text-controls/text-label.cpp \
 +  $(public_api_src_dir)/controls/text-controls/text-field.cpp \
    $(public_api_src_dir)/controls/tool-bar/tool-bar.cpp \
    $(public_api_src_dir)/controls/bloom-view/bloom-view.cpp \
    $(public_api_src_dir)/controls/cluster/cluster-style.cpp \
@@@ -63,6 -61,7 +61,6 @@@
    $(public_api_src_dir)/focus-manager/focus-manager.cpp \
    $(public_api_src_dir)/focus-manager/keyboard-focus-manager.cpp \
    $(public_api_src_dir)/focus-manager/keyinput-focus-manager.cpp \
 -  $(public_api_src_dir)/markup-processor/markup-processor.cpp \
    $(public_api_src_dir)/shader-effects/bubble-effect/bubble-effect.cpp \
    $(public_api_src_dir)/shader-effects/bubble-effect/color-adjuster.cpp \
    $(public_api_src_dir)/shader-effects/alpha-discard-effect.cpp \
@@@ -157,8 -156,6 +155,6 @@@ public_api_item_view_header_files = 
    $(public_api_src_dir)/controls/scrollable/item-view/item-layout.h \
    $(public_api_src_dir)/controls/scrollable/item-view/item-view-declarations.h \
    $(public_api_src_dir)/controls/scrollable/item-view/item-view.h \
-   $(public_api_src_dir)/controls/scrollable/item-view/navigation-layout.h \
-   $(public_api_src_dir)/controls/scrollable/item-view/roll-layout.h \
    $(public_api_src_dir)/controls/scrollable/item-view/spiral-layout.h
  
  public_api_magnifier_header_files = \
@@@ -206,9 -203,11 +202,9 @@@ public_api_super_blur_view_header_file
  public_api_table_view_header_files = \
    $(public_api_src_dir)/controls/table-view/table-view.h
  
 -public_api_text_input_header_files = \
 -  $(public_api_src_dir)/controls/text-input/text-input.h
 -
 -public_api_text_view_header_files = \
 -  $(public_api_src_dir)/controls/text-view/text-view.h
 +public_api_text_controls_header_files = \
 +  $(public_api_src_dir)/controls/text-controls/text-label.h \
 +  $(public_api_src_dir)/controls/text-controls/text-field.h
  
  public_api_tool_bar_header_files = \
    $(public_api_src_dir)/controls/tool-bar/tool-bar.h
@@@ -226,6 -225,9 +222,6 @@@ public_api_focus_manager_header_files 
    $(public_api_src_dir)/focus-manager/keyboard-focus-manager.h \
    $(public_api_src_dir)/focus-manager/keyinput-focus-manager.h
  
 -public_api_markup_processor_header_files = \
 -  $(public_api_src_dir)/markup-processor/markup-processor.h
 -
  public_api_shader_effects_header_files = \
    $(public_api_src_dir)/shader-effects/alpha-discard-effect.h \
    $(public_api_src_dir)/shader-effects/bendy-effect.h \
@@@ -273,5 -275,3 +269,5 @@@ public_api_scripting_header_files = 
    $(public_api_src_dir)/scripting/script.h \
    $(public_api_src_dir)/scripting/script-plugin.h
  
 +public_api_rendering_backend_header_files = \
 +  $(public_api_src_dir)/text/rendering-backend.h