RenderTextControlMultiLine.h [plain text]
#ifndef RenderTextControlMultiLine_h
#define RenderTextControlMultiLine_h
#include "RenderTextControl.h"
namespace WebCore {
class HTMLTextAreaElement;
class RenderTextControlMultiLine final : public RenderTextControl {
public:
RenderTextControlMultiLine(HTMLTextAreaElement&, PassRef<RenderStyle>);
virtual ~RenderTextControlMultiLine();
HTMLTextAreaElement& textAreaElement() const;
private:
void element() const = delete;
virtual bool isTextArea() const { return true; }
virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const HitTestLocation& locationInContainer, const LayoutPoint& accumulatedOffset, HitTestAction) override;
virtual float getAverageCharWidth();
virtual LayoutUnit preferredContentLogicalWidth(float charWidth) const;
virtual LayoutUnit computeControlLogicalHeight(LayoutUnit lineHeight, LayoutUnit nonContentHeight) const override;
virtual int baselinePosition(FontBaseline, bool firstLine, LineDirectionMode, LinePositionMode = PositionOnContainingLine) const;
virtual PassRef<RenderStyle> createInnerTextStyle(const RenderStyle* startStyle) const;
virtual RenderObject* layoutSpecialExcludedChild(bool relayoutChildren);
};
RENDER_OBJECT_TYPE_CASTS(RenderTextControlMultiLine, isTextArea())
}
#endif