generally overhauled non-wrapping mode of BTextView, as it was considerably broken:
* switching from wrapping to non-wrapping mode triggers a recomputation of the text rect * non-wrapping mode now triggers updating of the data rect for the horizontal scrollbar as needed, fixing #4705 * corrected a couple of width computations that confused bounds and text rect width, leading to drawing artefacts at the end of a line * unified computation of text rect width to always take all lines into account (not just the first one) * some cleanup git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33703 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -292,6 +292,7 @@ private:
|
||||
const rgb_color* initialColor);
|
||||
|
||||
void _ValidateLayoutData();
|
||||
void _ResetTextRect();
|
||||
|
||||
void _HandleBackspace();
|
||||
void _HandleArrowKey(uint32 inArrowKey);
|
||||
@@ -301,12 +302,12 @@ private:
|
||||
int32 numBytes);
|
||||
|
||||
void _Refresh(int32 fromOffset, int32 toOffset,
|
||||
bool erase, bool scroll);
|
||||
bool scroll);
|
||||
void _RecalculateLineBreaks(int32* startLine,
|
||||
int32* endLine);
|
||||
int32 _FindLineBreak(int32 fromOffset,
|
||||
float* outAscent, float* outDescent,
|
||||
float* ioWidth);
|
||||
float* inOutWidth);
|
||||
|
||||
float _StyledWidth(int32 fromOffset, int32 length,
|
||||
float* outAscent = NULL,
|
||||
@@ -333,8 +334,7 @@ private:
|
||||
int32 startOffset = -1,
|
||||
bool erase = false);
|
||||
void _RequestDrawLines(int32 startLine,
|
||||
int32 endLine, int32 startOffset = -1,
|
||||
bool erase = false);
|
||||
int32 endLine);
|
||||
|
||||
void _DrawCaret(int32 offset);
|
||||
void _ShowCaret();
|
||||
|
||||
Reference in New Issue
Block a user