mMuted = false;
mLooping = false;
mPlayPosition = 0;
+ mDisplyMode = Dali::VideoPlayerPlugin::DisplayMode::DST_ROI;
}
void SetMuted( bool muted )
mPlayPosition = pos;
}
+ Dali::VideoPlayerPlugin::DisplayMode::Type GetDisplayMode() const
+ {
+ return mDisplyMode;
+ }
+
+ void SetDisplayMode( Dali::VideoPlayerPlugin::DisplayMode::Type mDisplyMode )
+ {
+ mDisplyMode = mDisplyMode;
+ }
+
+
public:
std::string mUrl;
bool mMuted;
bool mLooping;
int mPlayPosition;
+ Dali::VideoPlayerPlugin::DisplayMode::Type mDisplyMode;
};
inline VideoPlayer& GetImplementation( Dali::VideoPlayer& player )
return Dali::VideoPlayerPlugin::CodecType::DEFAULT;
}
+void VideoPlayer::SetDisplayMode( Dali::VideoPlayerPlugin::DisplayMode::Type mode )
+{
+ Internal::Adaptor::GetImplementation( *this ).SetDisplayMode( mode );
+}
+
+Dali::VideoPlayerPlugin::DisplayMode::Type VideoPlayer::GetDisplayMode() const
+{
+ return Internal::Adaptor::GetImplementation( *this ).GetDisplayMode();
+}
+
} // namespace Dali;
END_TEST;
}
+
+int UtcDaliVideoViewPropertyDisplayMode(void)
+{
+ ToolkitTestApplication application;
+ tet_infoline("UtcDaliVideoViewPropertyDisplayMode");
+
+ VideoView view = VideoView::New();
+ DALI_TEST_CHECK( view );
+
+ Stage::GetCurrent().Add( view );
+ view.Play();
+
+ application.SendNotification();
+ application.Render();
+
+ view.SetProperty( Toolkit::VideoView::Property::DISPLAY_MODE, Toolkit::VideoView::DisplayMode::DST_ROI );
+ int displayMode = view.GetProperty( Toolkit::VideoView::Property::DISPLAY_MODE ).Get< int >();
+ DALI_TEST_CHECK( displayMode == Toolkit::VideoView::DisplayMode::DST_ROI );
+
+ END_TEST;
+}
ALIASES += SINCE_1_3_4="@since 1.3.4"
ALIASES += SINCE_1_3_5="@since 1.3.5"
ALIASES += SINCE_1_3_9="@since 1.3.9"
-
+ALIASES += SINCE_1_3_15="@since 1.3.15"
ALIASES += DEPRECATED_1_0="@deprecated Deprecated since 1.0"
ALIASES += DEPRECATED_1_1="@deprecated Deprecated since 1.1"
ALIASES += DEPRECATED_1_2_8="@deprecated Deprecated since 1.2.8"
ALIASES += PRIVILEGE_KEYGRAB=""
ALIASES += PRIVILEGE_DISPLAY=""
ALIASES += PRIVILEGE_WINDOW_PRIORITY=""
-ALIASES += PRIVILEGE_CAPTURE=""
ALIASES += REMARK_INTERNET=""
ALIASES += REMARK_STORAGE=""
ALIASES += REMARK_RAWVIDEO=""
#ALIASES += SINCE_1_3_4="\par Since:\n 4.0, DALi version 1.3.4"
#ALIASES += SINCE_1_3_5="\par Since:\n 4.0, DALi version 1.3.5"
#ALIASES += SINCE_1_3_9="\par Since:\n 4.0, DALi version 1.3.9"
+#ALIASES += SINCE_1_3_15="\par Since:\n 4.0, DALi version 1.3.15"
## DALi has no deprecated API in Tizen 2.4 because it's DALi's first release.
## Thus deprecated APIs in DALi 1.0.xx will be deprecated in Tizen 3.0.
#ALIASES += PRIVILEGE_KEYGRAB="\par Privilege:\n http://tizen.org/privilege/keygrab"
#ALIASES += PRIVILEGE_DISPLAY="\par Privilege:\n http://tizen.org/privilege/display"
#ALIASES += PRIVILEGE_WINDOW_PRIORITY="\par Privilege:\n http://tizen.org/privilege/window.priority.set"
-#ALIASES += PRIVILEGE_CAPTURE="\par Privilege:\n http://tizen.org/privilege/screenshot"
#ALIASES += REMARK_INTERNET="@remarks %http://tizen.org/privilege/internet is needed if @a url is a http or https address."
#ALIASES += REMARK_STORAGE="@remarks %http://tizen.org/privilege/mediastorage is needed if @a url is relevant to media storage. @remarks %http://tizen.org/privilege/externalstorage is needed if @a url is relevant to external storage."
#ALIASES += REMARK_RAWVIDEO="@remarks %http://tizen.org/feature/multimedia.raw_video is needed if UNDERLAY is false. If the feature isn't supported, UNDERLAY is always true."
mMargin( 0, 0, 0, 0 ),
mPadding( 0, 0, 0, 0 ),
mKeyEventSignal(),
+ mKeyInputFocusGainedSignal(),
+ mKeyInputFocusLostSignal(),
+ mResourceReadySignal(),
mPinchGestureDetector(),
mPanGestureDetector(),
mTapGestureDetector(),
mIndicatorHideDuration(DEFAULT_INDICATOR_HIDE_DURATION),
mTransientIndicatorDuration(DEFAULT_INDICATOR_TRANSIENT_DURATION),
mScrollStart(0.0f),
+ mGestureDisplacement( Vector3::ZERO ),
mCurrentScrollPosition(0.0f),
mIndicatorHeightPolicy(Toolkit::ScrollBar::Variable),
mIndicatorFixedHeight(DEFAULT_INDICATOR_FIXED_HEIGHT),
Constraint mIndicatorPositionConstraint;
Constraint mIndicatorSizeConstraint;
- Constraint mScrollPositionInCurrentAxisConstraint;
bool mIsPanning : 1; ///< Whether the scroll bar is being panned.
bool mIndicatorFirstShow : 1; ///< True if the indicator has never been shown
mOvershootAnimationSpeed ( DEFAULT_OVERSHOOT_ANIMATION_SPEED ),
mOvershootSize( OVERSHOOT_DEFAULT_SIZE ),
mScrollToAlphaFunction( AlphaFunction::EASE_OUT ),
+ mScrollStartedSignal(),
+ mScrollUpdatedSignal(),
+ mScrollCompletedSignal(),
mOvershootEnabled(true)
{
}
mOvershootAnimationSpeed ( DEFAULT_OVERSHOOT_ANIMATION_SPEED ),
mOvershootSize( OVERSHOOT_DEFAULT_SIZE ),
mScrollToAlphaFunction( AlphaFunction::EASE_OUT ),
+ mScrollStartedSignal(),
+ mScrollUpdatedSignal(),
+ mScrollCompletedSignal(),
mOvershootEnabled(true)
{
}
DALI_PROPERTY_REGISTRATION( Toolkit, VideoView, "volume", MAP, VOLUME )
DALI_PROPERTY_REGISTRATION( Toolkit, VideoView, "underlay", BOOLEAN, UNDERLAY )
DALI_PROPERTY_REGISTRATION( Toolkit, VideoView, "playPosition", INTEGER, PLAY_POSITION )
+DALI_PROPERTY_REGISTRATION( Toolkit, VideoView, "displayMode", INTEGER, DISPLAY_MODE )
DALI_SIGNAL_REGISTRATION( Toolkit, VideoView, "finished", FINISHED_SIGNAL )
}
break;
}
+ case Toolkit::VideoView::Property::DISPLAY_MODE:
+ {
+ int mode;
+ if( value.Get( mode ) )
+ {
+ impl.SetDisplayMode( mode );
+ }
+ break;
+ }
}
}
}
value = impl.GetPlayPosition();
break;
}
+ case Toolkit::VideoView::Property::DISPLAY_MODE:
+ {
+ value = impl.GetDisplayMode();
+ break;
+ }
}
}
mVideoPlayer.SetPlayPosition( pos );
}
+void VideoView::SetDisplayMode( int mode )
+{
+ mVideoPlayer.SetDisplayMode( static_cast< Dali::VideoPlayerPlugin::DisplayMode::Type >( mode ) );
+}
+
+int VideoView::GetDisplayMode() const
+{
+ return static_cast< int >( mVideoPlayer.GetDisplayMode() );
+}
+
} // namespace Internal
} // namespace toolkit
*/
void SetPlayPosition( int pos );
+ /**
+ * @brief Sets Display mode.
+ */
+ void SetDisplayMode( int mode );
+
+ /**
+ * @brief Gets Display mode.
+ */
+ int GetDisplayMode() const;
+
private: // From Control
/**
if ( mImpl->mUpdateTextDirection )
{
// Operations that can be done only once until the text changes.
- const OperationsMask onlyOnceOperations = static_cast<OperationsMask>( GET_SCRIPTS |
+ const OperationsMask onlyOnceOperations = static_cast<OperationsMask>( CONVERT_TO_UTF32 |
+ GET_SCRIPTS |
VALIDATE_FONTS |
GET_LINE_BREAKS |
GET_WORD_BREAKS |
LAYOUT | REORDER | UPDATE_DIRECTION ),
naturalSize.GetVectorXY() );
+ // Do not do again the only once operations.
+ mImpl->mOperationsPending = static_cast<OperationsMask>( mImpl->mOperationsPending & ~onlyOnceOperations );
+
// Clear the update info. This info will be set the next time the text is updated.
mImpl->mTextUpdateInfo.Clear();
* @details Name "playPosition", type Property::INTEGER
* @SINCE_1_3_9
*/
- PLAY_POSITION
+ PLAY_POSITION,
+
+ /**
+ * @brief The display mode of the video.
+ * @SINCE_1_3_15
+ */
+ DISPLAY_MODE
+ };
+ };
+
+ /**
+ * @brief The values of this enum determine how the video should be display mode to the view
+ * @SINCE_1_3_15
+ */
+ struct DisplayMode
+ {
+ enum Type
+ {
+ /**
+ * @brief Letter box
+ * @SINCE_1_3_15
+ */
+ LETTER_BOX = 0,
+ /**
+ * @brief Origin size
+ * @SINCE_1_3_15
+ */
+ ORIGIN_SIZE,
+ /**
+ * @brief Full-screen
+ * @SINCE_1_3_15
+ */
+ FULL_SCREEN,
+ /**
+ * @brief Cropped full-screen
+ * @SINCE_1_3_15
+ */
+ CROPPED_FULL,
+ /**
+ * @brief Origin size (if surface size is larger than video size(width/height)) or Letter box (if video size(width/height) is larger than surface size)
+ * @SINCE_1_3_15
+ */
+ ORIGIN_OR_LETTER,
+ /**
+ * @brief Region of Interest
+ * @SINCE_1_3_15
+ */
+ DST_ROI
};
};
const unsigned int TOOLKIT_MAJOR_VERSION = 1;
const unsigned int TOOLKIT_MINOR_VERSION = 3;
-const unsigned int TOOLKIT_MICRO_VERSION = 13;
+const unsigned int TOOLKIT_MICRO_VERSION = 14;
const char * const TOOLKIT_BUILD_DATE = __DATE__ " " __TIME__;
#ifdef DEBUG_ENABLED
Name: dali-toolkit
Summary: Dali 3D engine Toolkit
-Version: 1.3.13
+Version: 1.3.14
Release: 1
Group: System/Libraries
License: Apache-2.0 and BSD-3-Clause and MIT