diff options
author | Sebastian Geerken <devnull@localhost> | 2015-05-24 00:35:15 +0200 |
---|---|---|
committer | Sebastian Geerken <devnull@localhost> | 2015-05-24 00:35:15 +0200 |
commit | 6a9fcedc2df7b2dc81aa16b11f64758acbccc83f (patch) | |
tree | 109ed0aec0bb5f720f27cc7646d2b5c8f816166c /dw/textblock.hh | |
parent | f71b8f3955eebc6238f7d5a93194bad67c99f0fa (diff) |
SRDOP: position is now correctly calculated.
Diffstat (limited to 'dw/textblock.hh')
-rw-r--r-- | dw/textblock.hh | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/dw/textblock.hh b/dw/textblock.hh index e5ff87d5..6030ff63 100644 --- a/dw/textblock.hh +++ b/dw/textblock.hh @@ -451,11 +451,11 @@ protected: * hyphenation) the last part of a "real" text word, this * flag is set. Analogue to WORD_START. */ WORD_END = 1 << 6, - /* This word is put at the top of the line. This is necessary - * if the size of a child widget depends on the position, - * which, on the other hand, cannot be determined before - * the whole line is broken. */ - AT_TOP_OF_LINE = 1 << 7 + /* This word is put at the top of the line, and at the + * left. This is necessary if the size of a child widget + * depends on the position, which, on the other hand, cannot + * be determined before the whole line is broken. */ + TOPLEFT_OF_LINE = 1 << 7 }; /* TODO: perhaps add a xLeft? */ @@ -576,6 +576,9 @@ protected: int redrawY; int lastWordDrawn; + bool sizeRequestPosDefined; + int sizeRequestX, sizeRequestY; + /* This value is (currently) set by setAscent(). */ int lineBreakWidth; @@ -762,7 +765,7 @@ protected: int lastWord); void printBorderChangedErrorAndAbort (int y, Widget *vloat, int wrapLineIndex); - int yOffsetOfLineToBeCreated (); + int yOffsetOfLineToBeCreated (int *lastMargin = NULL); int yOffsetOfLineCreated (Line *line); bool sendSelectionEvent (core::SelectionState::EventType eventType, |