| 75 | * Improvements in the Hill climbing algorithm for finding the best path |
| 76 | * Replace EdgeKind.OPEN_SEGMENT, EdgeKind.CLOSE_SEGMENT and EdgeKind.ATOM with a single EdgeKind.SEGMENT. The effects of this modification include: |
| 77 | * EdgeKind.SEGMENT becomes the smallest unbreakable EdgeKind (atomic transition) in the algorithm. |
| 78 | * (advantage) The number of transitions in the algorithm vastly decrease, generally resulting in a better layout performance. Here is an example for a one line text with 2 segments: |
| 79 | |
| 80 | ''Old Solution'' ''New Solution'' |
| 81 | OPEN_TEXT OPEN_TEXT |
| 82 | OPEN_PART OPEN_PART |
| 83 | OPEN_LINE OPEN_LINE |
| 84 | OPEN_SEGMENT SEGMENT |
| 85 | ATOM SEGMENT |
| 86 | CLOSE_SEGMENT CLOSE_LINE |
| 87 | OPEN_SEGMENT CLOSE_PART |
| 88 | ATOM CLOSE_TEXT |
| 89 | CLOSE_SEGMENT |
| 90 | CLOSE_LINE |
| 91 | CLOSE_PART |
| 92 | CLOSE_TEXT |
| 93 | * (drawback) EdgeKind.SEGMENT has to be more complex to handle the following cases (in the old solution the responsibilities were spread between OPEN_SEGMENT, CLOSE_SEGMENT and ATOM EdgeKinds): |
| 94 | * |
| 95 | * Fix of the bug specified at [http://www.sophie2.org/trac/wiki/TEXT_INPLACE_EDITOR_R0#Implementation]: correct Atom.canFit method to pass the atom's height as 4th argument, not the atom's y-position. |
| 96 | |