projects
/
platform
/
core
/
uifw
/
dali-toolkit.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Convert more shaders in dali-toolkit and dali-scene-loader to use shader compilation...
[platform/core/uifw/dali-toolkit.git]
/
dali-toolkit
/
internal
/
text
/
text-controller-impl.h
diff --git
a/dali-toolkit/internal/text/text-controller-impl.h
b/dali-toolkit/internal/text/text-controller-impl.h
index
981e498
..
db02721
100755
(executable)
--- a/
dali-toolkit/internal/text/text-controller-impl.h
+++ b/
dali-toolkit/internal/text/text-controller-impl.h
@@
-2,7
+2,7
@@
#define DALI_TOOLKIT_TEXT_CONTROLLER_IMPL_H
/*
#define DALI_TOOLKIT_TEXT_CONTROLLER_IMPL_H
/*
- * Copyright (c) 20
17
Samsung Electronics Co., Ltd.
+ * Copyright (c) 20
20
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.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@
-43,10
+43,15
@@
namespace Text
const float DEFAULT_TEXTFIT_MIN = 10.f;
const float DEFAULT_TEXTFIT_MAX = 100.f;
const float DEFAULT_TEXTFIT_STEP = 1.f;
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;
//Forward declarations
struct CursorInfo;
struct FontDefaults;
+struct ControllerImplEventHandler;
+struct SelectionHandleController;
+
+class SelectableControlInterface;
struct Event
{
struct Event
{
@@
-105,7
+110,7
@@
struct EventData
EventData( DecoratorPtr decorator, InputMethodContext& inputMethodContext );
EventData( DecoratorPtr decorator, InputMethodContext& inputMethodContext );
- ~EventData();
+ ~EventData()
= default
;
static bool IsEditingState( State stateToCheck )
{
static bool IsEditingState( State stateToCheck )
{
@@
-170,6
+175,7
@@
struct EventData
bool mPlaceholderEllipsisFlag : 1; ///< True if the text controller sets the placeholder ellipsis.
bool mShiftSelectionFlag : 1; ///< True if the text selection using Shift key is enabled.
bool mUpdateAlignment : 1; ///< True if the whole text needs to be full aligned..
bool mPlaceholderEllipsisFlag : 1; ///< True if the text controller sets the placeholder ellipsis.
bool mShiftSelectionFlag : 1; ///< True if the text selection using Shift key is enabled.
bool mUpdateAlignment : 1; ///< True if the whole text needs to be full aligned..
+ bool mEditingEnabled : 1; ///< True if the editing is enabled, false otherwise.
};
struct ModifyEvent
};
struct ModifyEvent
@@
-202,11
+208,11
@@
struct FontDefaults
fontClient.GetDefaultPlatformFontDescription( mFontDescription );
}
fontClient.GetDefaultPlatformFontDescription( mFontDescription );
}
- FontId GetFontId( TextAbstraction::FontClient& fontClient )
+ FontId GetFontId( TextAbstraction::FontClient& fontClient
, float fontPointSize
)
{
if( !mFontId )
{
{
if( !mFontId )
{
- const PointSize26Dot6 pointSize = static_cast<PointSize26Dot6>(
mDefaul
tPointSize * 64.f );
+ const PointSize26Dot6 pointSize = static_cast<PointSize26Dot6>(
fon
tPointSize * 64.f );
mFontId = fontClient.GetFontId( mFontDescription, pointSize );
}
mFontId = fontClient.GetFontId( mFontDescription, pointSize );
}
@@
-308,9
+314,11
@@
struct OutlineDefaults
struct Controller::Impl
{
Impl( ControlInterface* controlInterface,
struct Controller::Impl
{
Impl( ControlInterface* controlInterface,
- EditableControlInterface* editableControlInterface )
+ EditableControlInterface* editableControlInterface,
+ SelectableControlInterface* selectableControlInterface )
: mControlInterface( controlInterface ),
mEditableControlInterface( editableControlInterface ),
: mControlInterface( controlInterface ),
mEditableControlInterface( editableControlInterface ),
+ mSelectableControlInterface( selectableControlInterface ),
mModel(),
mFontDefaults( NULL ),
mUnderlineDefaults( NULL ),
mModel(),
mFontDefaults( NULL ),
mUnderlineDefaults( NULL ),
@@
-343,7
+351,8
@@
struct Controller::Impl
mTextFitMinSize( DEFAULT_TEXTFIT_MIN ),
mTextFitMaxSize( DEFAULT_TEXTFIT_MAX ),
mTextFitStepSize( DEFAULT_TEXTFIT_STEP ),
mTextFitMinSize( DEFAULT_TEXTFIT_MIN ),
mTextFitMaxSize( DEFAULT_TEXTFIT_MAX ),
mTextFitStepSize( DEFAULT_TEXTFIT_STEP ),
- mTextFitEnabled( false )
+ mTextFitEnabled( false ),
+ mFontSizeScale( DEFAULT_FONT_SIZE_SCALE )
{
mModel = Model::New();
{
mModel = Model::New();
@@
-606,21
+615,35
@@
struct Controller::Impl
*/
float GetDefaultFontLineHeight();
*/
float GetDefaultFontLineHeight();
- void OnCursorKeyEvent( const Event& event );
-
- void OnTapEvent( const Event& event );
-
- void OnPanEvent( const Event& event );
+ /**
+ * @copydoc Text::Controller::GetPrimaryCursorPosition()
+ */
+ CharacterIndex GetPrimaryCursorPosition() const;
- void OnLongPressEvent( const Event& event );
+ /**
+ * @copydoc Text::Controller::SetPrimaryCursorPosition()
+ */
+ bool SetPrimaryCursorPosition( CharacterIndex index );
- void OnHandleEvent( const Event& event );
+ /**
+ * @copydoc Text::SelectableControlInterface::SetTextSelectionRange()
+ */
+ void SetTextSelectionRange(const uint32_t *pStart, const uint32_t *pEndf);
- void OnSelectEvent( const Event& event );
+ /**
+ * @copydoc Text::SelectableControlInterface::GetTextSelectionRange()
+ */
+ Uint32Pair GetTextSelectionRange() const;
- void OnSelectAllEvent();
+ /**
+ * @copydoc Text::EditableControlInterface::IsEditable()
+ */
+ bool IsEditable() const;
- void OnSelectNoneEvent();
+ /**
+ * @copydoc Text::EditableControlInterface::SetEditable()
+ */
+ void SetEditable( bool editable );
/**
* @brief Retrieves the selected text. It removes the text if the @p deleteAfterRetrieval parameter is @e true.
/**
* @brief Retrieves the selected text. It removes the text if the @p deleteAfterRetrieval parameter is @e true.
@@
-630,13
+653,17
@@
struct Controller::Impl
*/
void RetrieveSelection( std::string& selectedText, bool deleteAfterRetrieval );
*/
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);
void ShowClipboard();
void HideClipboard();
void SetClipboardHideEnable(bool enable);
- bool CopyStringToClipboard( std::string& source );
+ bool CopyStringToClipboard(
const
std::string& source );
void SendSelectionToClipboard( bool deleteAfterSending );
void SendSelectionToClipboard( bool deleteAfterSending );
@@
-729,6
+756,11
@@
struct Controller::Impl
void ScrollTextToMatchCursor( const CursorInfo& cursorInfo );
/**
void ScrollTextToMatchCursor( const CursorInfo& cursorInfo );
/**
+ * @brief Scrolls the text to make primary cursor visible.
+ */
+ void ScrollTextToMatchCursor( );
+
+ /**
* @brief Create an actor that renders the text background color
*
* @return the created actor or an empty handle if no background color needs to be rendered.
* @brief Create an actor that renders the text background color
*
* @return the created actor or an empty handle if no background color needs to be rendered.
@@
-757,6
+789,7
@@
public:
ControlInterface* mControlInterface; ///< Reference to the text controller.
EditableControlInterface* mEditableControlInterface; ///< Reference to the editable text controller.
ControlInterface* mControlInterface; ///< Reference to the text controller.
EditableControlInterface* mEditableControlInterface; ///< Reference to the editable text controller.
+ SelectableControlInterface* mSelectableControlInterface; ///< Reference to the selectable text controller.
ModelPtr mModel; ///< Pointer to the text's model.
FontDefaults* mFontDefaults; ///< Avoid allocating this when the user does not specify a font.
UnderlineDefaults* mUnderlineDefaults; ///< Avoid allocating this when the user does not specify underline parameters.
ModelPtr mModel; ///< Pointer to the text's model.
FontDefaults* mFontDefaults; ///< Avoid allocating this when the user does not specify a font.
UnderlineDefaults* mUnderlineDefaults; ///< Avoid allocating this when the user does not specify underline parameters.
@@
-797,6
+830,11
@@
public:
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 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;
+ friend SelectionHandleController;
};
} // namespace Text
};
} // namespace Text