Files
react-native/ReactCommon/fabric/components/text/paragraph/ParagraphLocalData.h
T
David Vacca 9ad193c35b Implement Local Data in Android Fabric C++
Summary: This diff introduces the concept of Local Data in Android Fabric C++ and as an example we uses it to implement Text View.

Reviewed By: shergin

Differential Revision: D9583970

fbshipit-source-id: ab7478b16ef4327ff574ca1467870ab9cb684ea0
2018-09-17 18:49:06 -07:00

59 lines
1.5 KiB
C++

/**
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
#pragma once
#include <fabric/attributedstring/AttributedString.h>
#include <fabric/core/LocalData.h>
#include <fabric/textlayoutmanager/TextLayoutManager.h>
namespace facebook {
namespace react {
class ParagraphLocalData;
using SharedParagraphLocalData = std::shared_ptr<const ParagraphLocalData>;
/*
* LocalData for <Paragraph> component.
* Represents what to render and how to render.
*/
class ParagraphLocalData:
public LocalData {
public:
/*
* All content of <Paragraph> component represented as an `AttributedString`.
*/
AttributedString getAttributedString() const;
void setAttributedString(AttributedString attributedString);
/*
* `TextLayoutManager` provides a connection to platform-specific
* text rendering infrastructure which is capable to render the
* `AttributedString`.
*/
SharedTextLayoutManager getTextLayoutManager() const;
void setTextLayoutManager(SharedTextLayoutManager textLayoutManager);
folly::dynamic getDynamic() const override;
#pragma mark - DebugStringConvertible
std::string getDebugName() const override;
SharedDebugStringConvertibleList getDebugProps() const override;
private:
AttributedString attributedString_;
SharedTextLayoutManager textLayoutManager_;
};
} // namespace react
} // namespace facebook