org.eclipse.swt.custom
Class BidiSegmentEvent

java.lang.Object
  extended by java.util.EventObject
      extended by org.eclipse.swt.internal.SWTEventObject
          extended by org.eclipse.swt.events.TypedEvent
              extended by org.eclipse.swt.custom.BidiSegmentEvent
All Implemented Interfaces:
java.io.Serializable

public class BidiSegmentEvent
extends TypedEvent

This event is sent to BidiSegmentListeners when a line is to be measured or rendered in a bidi locale. The segments field is used to specify text ranges in the line that should be treated as separate segments for bidi reordering. Each segment will be reordered and rendered separately.

The elements in the segments field specify the start offset of a segment relative to the start of the line. They must follow the following rules:

In addition, the last element may be set to the end of the line but this is not required. The segments field may be left null if the entire line should be reordered as is.

A BidiSegmentListener may be used when adjacent segments of right-to-left text should not be reordered relative to each other. For example, within a Java editor, you may wish multiple right-to-left string literals to be reordered differently than the bidi algorithm specifies. Example:
        stored line = "R1R2R3" + "R4R5R6"
                R1 to R6 are right-to-left characters. The quotation marks
                are part of the line text. The line is 13 characters long.
 
        segments = null: 
                entire line will be reordered and thus the two R2L segments 
                swapped (as per the bidi algorithm). 
                visual line (rendered on screen) = "R6R5R4" + "R3R2R1"
 
        segments = [0, 5, 8]    
                "R1R2R3" will be reordered, followed by [blank]+[blank] and 
                "R4R5R6". 
                visual line = "R3R2R1" + "R6R5R4"
 

See Also:
Sample code and further information, Serialized Form

Field Summary
 int lineOffset
          line start offset
 java.lang.String lineText
          line text
 int[] segments
          bidi segments, see above
 
Fields inherited from class org.eclipse.swt.events.TypedEvent
data, display, time, widget
 
Fields inherited from class java.util.EventObject
source
 
Method Summary
 
Methods inherited from class org.eclipse.swt.events.TypedEvent
toString
 
Methods inherited from class java.util.EventObject
getSource
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

lineOffset

public int lineOffset
line start offset


lineText

public java.lang.String lineText
line text


segments

public int[] segments
bidi segments, see above