|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--org.eclipse.swt.custom.StyledTextRenderer
Field Summary | |
protected Font |
boldFont
|
private int |
currentFontStyle
|
private Device |
device
|
private boolean |
isBidi
|
private int |
leftMargin
|
private int |
lineEndSpaceWidth
|
private int |
lineHeight
|
protected Font |
regularFont
|
private int |
tabLength
|
private int |
tabWidth
|
Constructor Summary | |
(package private) |
StyledTextRenderer(Device device,
Font regularFont,
boolean isBidi,
int leftMargin)
Creates an instance of |
Method Summary | |
(package private) void |
calculateLineHeight()
Calculates the line height and space width. |
(package private) void |
dispose()
Disposes the resource created by the receiver. |
protected abstract void |
disposeGC(GC gc)
Dispose the specified GC. |
(package private) void |
drawLine(String line,
int lineIndex,
int paintY,
GC gc,
Color widgetBackground,
Color widgetForeground,
boolean clearBackground)
Draws a line of text at the specified location. |
protected abstract void |
drawLineSelectionBackground(String line,
int lineOffset,
StyleRange[] styles,
int paintY,
GC gc,
StyledTextBidi bidi)
Draws the background of the line selection. |
private void |
drawStyledLine(String line,
int lineOffset,
int renderOffset,
StyleRange[] styles,
int paintX,
int paintY,
GC gc,
Color lineBackground,
Color lineForeground,
StyledTextBidi bidi)
Draws the line at the specified location. |
private int |
drawText(String text,
int startOffset,
int length,
int paintX,
int paintY,
GC gc,
StyledTextBidi bidi)
Draws the text at the specified location. |
(package private) StyleRange[] |
filterLineStyles(StyleRange[] styles)
Filter the given style ranges based on the font style and return the unchanged styles only if there is at least one non-regular (e.g., bold) font. |
protected abstract int[] |
getBidiSegments(int lineOffset,
String lineText)
Returns the text segments that should be treated as if they had a different direction than the surrounding text. |
protected abstract Rectangle |
getClientArea()
Returns the visible client area that can be used for rendering. |
protected abstract StyledTextContent |
getContent()
Returns the |
protected int |
getCurrentFontStyle()
Return the font style that is currently set on the active gc. |
(package private) Device |
getDevice()
Returns the Device that is being rendered on. |
private StyleRange[] |
getFontStyleRanges(StyleRange[] styles,
int lineOffset,
int lineLength)
Returns an array of text ranges that have a font style specified (e.g., SWT.BOLD). |
protected abstract GC |
getGC()
Returns the GC to use for rendering and measuring. |
protected abstract int |
getHorizontalPixel()
Returns the horizontal scroll position. |
(package private) int |
getLeftMargin()
Method getLeftMargin. |
protected abstract StyledTextEvent |
getLineBackgroundData(int lineOffset,
String line)
Returns the line background data for the given line or null if there is none. |
(package private) int |
getLineEndSpaceWidth()
Returns the width in pixels of the space used to represent line delimiters. |
(package private) int |
getLineHeight()
Returns the height in pixels of a line. |
protected abstract StyledTextEvent |
getLineStyleData(int lineOffset,
String line)
Returns the line style data for the given line or null if there is none. |
(package private) StyledTextEvent |
getLineStyleData(StyledTextEvent event,
int lineOffset,
String line)
Returns the line style data for the specified line. |
protected abstract Point |
getSelection()
Returns the widget selection. |
(package private) StyledTextBidi |
getStyledTextBidi(String lineText,
int lineOffset,
GC gc,
StyleRange[] styles)
Returns a StyledTextBidi object for the specified line. |
protected abstract int |
getStyledTextWidth(String text,
int textStartOffset,
StyleRange[] lineStyles,
int paintX,
GC gc)
Returns the width of the specified text segment. |
private int |
getTabStop(int x)
Returns the next tab stop for the specified x location. |
(package private) int |
getTextPosition(String text,
int lineOffset,
int length,
StyleRange[] lineStyles,
GC gc)
Returns the x position of the character at the specified offset relative to the first character in the line. |
(package private) int |
getTextWidth(String text,
int lineOffset,
int startOffset,
int length,
StyleRange[] lineStyles,
int startXOffset,
GC gc)
Returns the width of the specified text range. |
(package private) StyleRange[] |
getVisualLineStyleData(StyleRange[] logicalStyles,
int lineOffset,
int lineLength)
Returns styles for the specified visual (wrapped) line. |
protected abstract boolean |
getWordWrap()
Returns the word wrap state. |
(package private) boolean |
isBidi()
Returns whether the widget is running on a bidi platform. |
protected abstract boolean |
isFullLineSelection()
Returns whether the widget was created with the SWT.FULL_SELECTION style. |
protected abstract StyleRange[] |
mergeSelectionLineStyles(StyleRange[] styles)
Merges the selection into the styles that are passed in. |
protected void |
setCurrentFontStyle(int style)
Set the font style that is set for the active gc. |
private Color |
setLineBackground(GC gc,
Color currentBackground,
Color newBackground)
Sets the background of the specified GC for a line rendering operation, if it is not already set. |
(package private) void |
setLineFont(GC gc,
int style)
Sets the font of the specified GC if it is not already set. |
private Color |
setLineForeground(GC gc,
Color currentForeground,
Color newForeground)
Sets the foreground of the specified GC for a line rendering operation, if it is not already set. |
(package private) void |
setTabLength(int tabLength)
Calculates the width in pixel of a tab character |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
private Device device
protected Font regularFont
protected Font boldFont
private boolean isBidi
private int leftMargin
private int tabLength
private int tabWidth
private int lineHeight
private int lineEndSpaceWidth
private int currentFontStyle
Constructor Detail |
StyledTextRenderer(Device device, Font regularFont, boolean isBidi, int leftMargin)
device
- Device to render onregularFont
- Font to use for regular (non-bold) textisBidi
- true=bidi platform, false=no bidi platformleftMargin
- margin to the left of the textMethod Detail |
void calculateLineHeight()
void dispose()
protected abstract void disposeGC(GC gc)
gc
- GC to dispose.void drawLine(String line, int lineIndex, int paintY, GC gc, Color widgetBackground, Color widgetForeground, boolean clearBackground)
line
- the line to drawlineIndex
- index of the line to drawpaintY
- y location to draw atgc
- GC to draw onwidgetBackground
- the widget background color.
Used as the default rendering color.widgetForeground
- the widget foreground color.
Used as the default rendering color.clearBackground
- true if the line background should be drawn
explicitly.protected abstract void drawLineSelectionBackground(String line, int lineOffset, StyleRange[] styles, int paintY, GC gc, StyledTextBidi bidi)
line
- the line to drawlineOffset
- offset of the first character in the line.
Relative to the start of the document.styles
- line stylespaintY
- y location to draw atgc
- GC to draw onbidi
- the bidi object to use for measuring and rendering text in bidi
locales. null when not in bidi mode.private void drawStyledLine(String line, int lineOffset, int renderOffset, StyleRange[] styles, int paintX, int paintY, GC gc, Color lineBackground, Color lineForeground, StyledTextBidi bidi)
line
- the line to drawlineOffset
- offset of the first character in the line.
Relative to the start of the document.renderOffset
- offset of the first character that should
be rendered. Relative to the start of the line.styles
- the styles to use for rendering line segments.
May be empty but not null.paintX
- x location to draw at, not used in bidi modepaintY
- y location to draw atgc
- GC to draw onlineBackground
- line background color, used when no style
is specified for a line segment.lineForeground
- line foreground color, used when no style
is specified for a line segment.bidi
- the bidi object to use for measuring and rendering text in bidi
locales. null when not in bidi mode.private int drawText(String text, int startOffset, int length, int paintX, int paintY, GC gc, StyledTextBidi bidi)
text
- text to drawstartOffset
- offset of the first character in text to drawlength
- number of characters to drawpaintX
- x location to start drawing at, not used in bidi modepaintY
- y location to draw at. Unused when draw is falsegc
- GC to draw on
location where drawing would stopbidi
- the bidi object to use for measuring and rendering
text in bidi locales. null when not in bidi mode.
StyleRange[] filterLineStyles(StyleRange[] styles)
styles
- styles that may contain font styles.
protected abstract Rectangle getClientArea()
protected int getCurrentFontStyle()
protected abstract StyledTextContent getContent()
Device getDevice()
private StyleRange[] getFontStyleRanges(StyleRange[] styles, int lineOffset, int lineLength)
styles
- style ranges in the linelineOffset
- start index of the line, relative to the start of the document
protected abstract int[] getBidiSegments(int lineOffset, String lineText)
lineOffset
- offset of the first character in the line.
0 based from the beginning of the document.
protected abstract GC getGC()
protected abstract int getHorizontalPixel()
int getLeftMargin()
int getLineEndSpaceWidth()
protected abstract StyledTextEvent getLineBackgroundData(int lineOffset, String line)
lineOffset
- offset of the line start relative to the start
of the content.line
- line to get line background data for
int getLineHeight()
StyledTextEvent getLineStyleData(StyledTextEvent event, int lineOffset, String line)
event
- the styles for the logical linelineOffset
- offset of the line start relative to the start of
the content.line
- line to get line styles for
protected abstract StyledTextEvent getLineStyleData(int lineOffset, String line)
lineOffset
- offset of the line start relative to the start of
the content.line
- line to get line styles for
protected abstract Point getSelection()
protected abstract StyleRange[] mergeSelectionLineStyles(StyleRange[] styles)
styles
- the existing styles that the selection should be
applied to.
StyledTextBidi getStyledTextBidi(String lineText, int lineOffset, GC gc, StyleRange[] styles)
lineText
- the line that the StyledTextBidi object should
work on.lineOffset
- offset of the beginning of the line, relative
to the beginning of the documentgc
- GC to use when creating a new StyledTextBidi object.styles
- StyleRanges to use when creating a new StyledTextBidi
object.
protected abstract int getStyledTextWidth(String text, int textStartOffset, StyleRange[] lineStyles, int paintX, GC gc)
text
- text to measuretextStartOffset
- offset of the first character in text relative
to the first character in the documentlineStyles
- styles of the linepaintX
- x location to start drawing atgc
- GC to measure with
private int getTabStop(int x)
x
- the x location in front of a tab
int getTextPosition(String text, int lineOffset, int length, StyleRange[] lineStyles, GC gc)
text
- text to be measured.lineOffset
- offset of the first character in the line.length
- number of characters to measure. Tabs are counted
as one character in this parameter.gc
- GC to use for measuring text
int getTextWidth(String text, int lineOffset, int startOffset, int length, StyleRange[] lineStyles, int startXOffset, GC gc)
text
- text to be measured.lineOffset
- offset of the first character in the line.startOffset
- offset of the character to start measuring and
expand tabs.length
- number of characters to measure. Tabs are counted
as one character in this parameter.startXOffset
- x position of "startOffset" in "text". Used for
calculating tab stopsgc
- GC to use for measuring text
StyleRange[] getVisualLineStyleData(StyleRange[] logicalStyles, int lineOffset, int lineLength)
logicalStyles
- the styles for a logical (unwrapped) linelineOffset
- offset of the visual linelineLength
- length of the visual line
protected abstract boolean getWordWrap()
boolean isBidi()
protected abstract boolean isFullLineSelection()
protected void setCurrentFontStyle(int style)
style
- SWT.BOLD, SWT.NORMALprivate Color setLineBackground(GC gc, Color currentBackground, Color newBackground)
gc
- GC to set the background color incurrentBackground
- background color currently set in gcnewBackground
- new background color of gcvoid setLineFont(GC gc, int style)
gc
- GC to set the font instyle
- desired style of the font in gc. Can be one of SWT.NORMAL, SWT.
BOLDprivate Color setLineForeground(GC gc, Color currentForeground, Color newForeground)
gc
- GC to set the foreground color incurrentForeground
- foreground color currently set in gcnewForeground
- new foreground color of gcvoid setTabLength(int tabLength)
tabLength
- number of space characters represented by a tab character.
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |