#define DALI_TOOLKIT_TEXT_CONTROLLER_IMPL_H
/*
- * Copyright (c) 2017 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.
const float DEFAULT_TEXTFIT_MIN = 10.f;
const float DEFAULT_TEXTFIT_MAX = 100.f;
const float DEFAULT_TEXTFIT_STEP = 1.f;
+const float DEFAULT_FONT_SIZE_SCALE = 1.f;
//Forward declarations
struct CursorInfo;
struct FontDefaults;
+struct ControllerImplEventHandler;
class SelectableControlInterface;
fontClient.GetDefaultPlatformFontDescription( mFontDescription );
}
- FontId GetFontId( TextAbstraction::FontClient& fontClient )
+ FontId GetFontId( TextAbstraction::FontClient& fontClient, float fontPointSize )
{
if( !mFontId )
{
- const PointSize26Dot6 pointSize = static_cast<PointSize26Dot6>( mDefaultPointSize * 64.f );
+ const PointSize26Dot6 pointSize = static_cast<PointSize26Dot6>( fontPointSize * 64.f );
mFontId = fontClient.GetFontId( mFontDescription, pointSize );
}
mTextFitMinSize( DEFAULT_TEXTFIT_MIN ),
mTextFitMaxSize( DEFAULT_TEXTFIT_MAX ),
mTextFitStepSize( DEFAULT_TEXTFIT_STEP ),
- mTextFitEnabled( false )
+ mTextFitEnabled( false ),
+ mFontSizeScale( DEFAULT_FONT_SIZE_SCALE )
{
mModel = Model::New();
*/
void RetrieveSelection( std::string& selectedText, bool deleteAfterRetrieval );
+ void SetSelection( int start, int end );
+
+ std::pair< int, int > GetSelectionIndexes() const;
+
void ShowClipboard();
void HideClipboard();
void SetClipboardHideEnable(bool enable);
- bool CopyStringToClipboard( std::string& source );
+ bool CopyStringToClipboard( const std::string& source );
void SendSelectionToClipboard( bool deleteAfterSending );
float mTextFitMaxSize; ///< Maximum Font Size for text fit. Default 100
float mTextFitStepSize; ///< Step Size for font intervalse. Default 1
bool mTextFitEnabled : 1; ///< Whether the text's fit is enabled.
+ float mFontSizeScale; ///< Scale value for Font Size. Default 1.0
+
+private:
+ friend ControllerImplEventHandler;
};
} // namespace Text