mHorizontalScrollingEnabled( false ),
mVerticalScrollingEnabled( false ),
mSmoothHandlePanEnabled( false ),
- mIsHighlightBoxActive( false )
+ mIsHighlightBoxActive( false ),
+ mHidePrimaryCursorAndGrabHandle( false )
{
mQuadVertexFormat[ "aPosition" ] = Property::VECTOR2;
mHighlightShader = Shader::New( VERTEX_SHADER, FRAGMENT_SHADER );
if( mPrimaryCursor )
{
const CursorImpl& cursor = mCursor[PRIMARY_CURSOR];
- mPrimaryCursorVisible = ( ( mControlSize.width - ( cursor.position.x + mCursorWidth ) > -Math::MACHINE_EPSILON_1000 ) &&
+ mPrimaryCursorVisible = (!mHidePrimaryCursorAndGrabHandle) && ( ( mControlSize.width - ( cursor.position.x + mCursorWidth ) > -Math::MACHINE_EPSILON_1000 ) &&
( cursor.position.x > -Math::MACHINE_EPSILON_1000 ) &&
( mControlSize.height - ( cursor.position.y + cursor.cursorHeight ) > -Math::MACHINE_EPSILON_1000 ) &&
( cursor.position.y > -Math::MACHINE_EPSILON_1000 ) );
grabHandle.verticallyVisible = ( ( ( mControlSize.height - grabHandle.lineHeight ) - grabHandle.position.y > -Math::MACHINE_EPSILON_1000 ) &&
( grabHandle.position.y > -Math::MACHINE_EPSILON_1000 ) );
- const bool isVisible = grabHandle.horizontallyVisible && grabHandle.verticallyVisible;
+ const bool isVisible = grabHandle.horizontallyVisible && grabHandle.verticallyVisible && (!mHidePrimaryCursorAndGrabHandle);
if( isVisible )
{
CreateGrabHandle();
bool mVerticalScrollingEnabled : 1; ///< Whether the vertical scrolling is enabled.
bool mSmoothHandlePanEnabled : 1; ///< Whether to pan smoothly the handles.
bool mIsHighlightBoxActive : 1; ///< Whether the highlight box is active.
+ bool mHidePrimaryCursorAndGrabHandle : 1; ///< Whether the primary cursor and grab are hidden always.
};
DecoratorPtr Decorator::New( ControllerInterface& controller,
return static_cast<int>( mImpl->mCursorWidth );
}
+void Decorator::SetEditable( bool editable )
+{
+ mImpl->mHidePrimaryCursorAndGrabHandle = !editable;
+ mImpl->Relayout( mImpl->mControlSize );
+}
/** Handles **/
void Decorator::SetHandleActive( HandleType handleType, bool active )