Browse Source

bracket newlines with close-open prpoperties symbols

David Rose 17 years ago
parent
commit
a43de758d2
1 changed files with 9 additions and 0 deletions
  1. 9 0
      panda/src/text/textAssembler.cxx

+ 9 - 0
panda/src/text/textAssembler.cxx

@@ -347,6 +347,13 @@ get_wtext() const {
 //               characters, which may not exactly match the embedded
 //               characters, which may not exactly match the embedded
 //               properties characters of the original string, but it
 //               properties characters of the original string, but it
 //               will encode the same way.
 //               will encode the same way.
+//
+//               Embedded properties characters will be closed before
+//               every newline, then reopened (if necessary) on the
+//               subsequent character following the newline.  This
+//               means it will be safe to divide the text up at the
+//               newline characters and treat each line as an
+//               independent piece.
 ////////////////////////////////////////////////////////////////////
 ////////////////////////////////////////////////////////////////////
 wstring TextAssembler::
 wstring TextAssembler::
 get_wordwrapped_wtext() const {
 get_wordwrapped_wtext() const {
@@ -358,6 +365,8 @@ get_wordwrapped_wtext() const {
   for (bi = _text_block.begin(); bi != _text_block.end(); ++bi) {
   for (bi = _text_block.begin(); bi != _text_block.end(); ++bi) {
     const TextRow &row = (*bi);
     const TextRow &row = (*bi);
     if (bi != _text_block.begin()) {
     if (bi != _text_block.begin()) {
+      current_cprops->append_delta(wtext, _initial_cprops);
+      current_cprops = _initial_cprops;
       wtext += '\n';
       wtext += '\n';
     }
     }