KateRenderer Class Reference
Handles all of the work of rendering the text (used for the views and printing) More...
#include <katerenderer.h>
Public Types | |
| enum | caretStyles { Line, Block } |
Public Member Functions | |
| KateRenderer (KateDocument *doc, KateView *view=0) | |
| ~KateRenderer () | |
| KTextEditor::Attribute::Ptr | attribute (uint pos) const |
| KateRenderer::caretStyles | caretStyle () const |
| KateRendererConfig * | config () const |
| const QFont & | currentFont () const |
| const QFontMetrics & | currentFontMetrics () const |
| int | cursorToX (const KateTextLayout &range, int col) const |
| int | cursorToX (const KateTextLayout &range, const KTextEditor::Cursor &pos) const |
| int | cursorToX (const KateTextLayout &range, const KTextEditor::Cursor &pos, bool returnPastLine) const |
| QList< QTextLayout::FormatRange > | decorationsForLine (const Kate::TextLine &textLine, int line, bool selectionsOnly=false, KateRenderRange *completionHighlight=0L, bool completionSelected=false) const |
| void | decreaseFontSizes () |
| KateDocument * | doc () const |
| uint | documentHeight () |
| bool | drawCaret () const |
| uint | fontHeight () |
| bool | getSelectionBounds (int line, int lineLength, int &start, int &end) const |
| void | increaseFontSizes () |
| bool | isLineRightToLeft (KateLineLayoutPtr lineLayout) const |
| bool | isPrinterFriendly () const |
| void | layoutLine (KateLineLayoutPtr line, int maxwidth=-1, bool cacheLayout=false) const |
| int | lineHeight () |
| void | paintTextLine (QPainter &paint, KateLineLayoutPtr range, int xStart, int xEnd, const KTextEditor::Cursor *cursor=0L) |
| void | paintTextLineBackground (QPainter &paint, KateLineLayoutPtr layout, int currentViewLine, int xStart, int xEnd) |
| void | setCaretOverrideColor (const QColor &color) |
| void | setCaretStyle (KateRenderer::caretStyles style) |
| void | setDrawCaret (bool drawCaret) |
| void | setIndentWidth (int indentWidth) |
| void | setPrinterFriendly (bool printerFriendly) |
| void | setShowIndentLines (bool showLines) |
| void | setShowSelections (bool showSelections) |
| void | setShowTabs (bool showTabs) |
| void | setShowTrailingSpaces (bool showSpaces) |
| void | setTabWidth (int tabWidth) |
| bool | showIndentLines () const |
| bool | showSelections () const |
| bool | showTabs () const |
| bool | showTrailingSpaces () const |
| uint | spaceWidth () const |
| KTextEditor::Attribute::Ptr | specificAttribute (int context) const |
| uint | textWidth (const Kate::TextLine &, int cursorCol) |
| uint | textWidth (const Kate::TextLine &textLine, uint startcol, uint maxwidth, bool *needWrap, int *endX=0) |
| uint | textWidth (const KTextEditor::Cursor &cursor) |
| void | updateAttributes () |
| void | updateConfig () |
| KateView * | view () const |
| KTextEditor::Cursor | xToCursor (const KateTextLayout &range, int x, bool returnPastLine=false) const |
Detailed Description
Handles all of the work of rendering the text (used for the views and printing)
Definition at line 49 of file katerenderer.h.
Member Enumeration Documentation
Style of Caret (Vertical line or block)
Definition at line 55 of file katerenderer.h.
Constructor & Destructor Documentation
| KateRenderer::KateRenderer | ( | KateDocument * | doc, |
| KateView * | view = 0 |
||
| ) | [explicit] |
Constructor.
- Parameters:
-
doc document to render view view which is output (0 for example for rendering to print)
Definition at line 50 of file katerenderer.cpp.
| KateRenderer::~KateRenderer | ( | ) |
Destructor.
Definition at line 66 of file katerenderer.cpp.
Member Function Documentation
| KTextEditor::Attribute::Ptr KateRenderer::attribute | ( | uint | pos | ) | const |
This takes an in index, and returns all the attributes for it.
For example, if you have a ktextline, and want the KTextEditor::Attribute for a given position, do:
attribute(myktextline->attribute(position));
Definition at line 76 of file katerenderer.cpp.
| KateRenderer::caretStyles KateRenderer::caretStyle | ( | ) | const [inline] |
The style of the caret (text cursor) to be painted.
- Returns:
- caretStyle
Definition at line 104 of file katerenderer.h.
| KateRendererConfig* KateRenderer::config | ( | ) | const [inline] |
Configuration.
Definition at line 341 of file katerenderer.h.
| const QFont & KateRenderer::currentFont | ( | ) | const |
Definition at line 799 of file katerenderer.cpp.
| const QFontMetrics & KateRenderer::currentFontMetrics | ( | ) | const |
Definition at line 804 of file katerenderer.cpp.
| int KateRenderer::cursorToX | ( | const KateTextLayout & | range, |
| int | col | ||
| ) | const |
Returns the x position of cursor col on the line range.
Definition at line 1021 of file katerenderer.cpp.
| int KateRenderer::cursorToX | ( | const KateTextLayout & | range, |
| const KTextEditor::Cursor & | pos | ||
| ) | const |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Definition at line 1026 of file katerenderer.cpp.
| int KateRenderer::cursorToX | ( | const KateTextLayout & | range, |
| const KTextEditor::Cursor & | pos, | ||
| bool | returnPastLine | ||
| ) | const |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Definition at line 1033 of file katerenderer.cpp.
| QList< QTextLayout::FormatRange > KateRenderer::decorationsForLine | ( | const Kate::TextLine & | textLine, |
| int | line, | ||
| bool | selectionsOnly = false, |
||
| KateRenderRange * | completionHighlight = 0L, |
||
| bool | completionSelected = false |
||
| ) | const |
The ultimate decoration creation function.
- Parameters:
-
range line to return decoration for selectionsOnly return decorations for selections and/or dynamic highlighting.
Definition at line 337 of file katerenderer.cpp.
| void KateRenderer::decreaseFontSizes | ( | ) |
Definition at line 145 of file katerenderer.cpp.
| KateDocument* KateRenderer::doc | ( | ) | const [inline] |
Returns the document to which this renderer is bound.
Definition at line 75 of file katerenderer.h.
| uint KateRenderer::documentHeight | ( | ) |
Definition at line 814 of file katerenderer.cpp.
| bool KateRenderer::drawCaret | ( | ) | const [inline] |
Determine whether the caret (text cursor) will be drawn.
- Returns:
- should it be drawn?
Definition at line 92 of file katerenderer.h.
| uint KateRenderer::fontHeight | ( | ) |
Definition at line 809 of file katerenderer.cpp.
| bool KateRenderer::getSelectionBounds | ( | int | line, |
| int | lineLength, | ||
| int & | start, | ||
| int & | end | ||
| ) | const |
Definition at line 824 of file katerenderer.cpp.
| void KateRenderer::increaseFontSizes | ( | ) |
Change to a different font (soon to be font set?)
Definition at line 137 of file katerenderer.cpp.
| bool KateRenderer::isLineRightToLeft | ( | KateLineLayoutPtr | lineLayout | ) | const |
This is a smaller QString::isRightToLeft().
It's also marked as internal to kate instead of internal to Qt, so we can modify. This method searches for the first strong character in the paragraph and then returns its direction. In case of a line without any strong characters, the direction is forced to be LTR.
Back in KDE 4.1 this method counted chars, which lead to unwanted side effects. (see https://bugs.kde.org/show_bug.cgi?id=178594). As this function is internal the way it work will probably change between releases. Be warned!
Definition at line 983 of file katerenderer.cpp.
| bool KateRenderer::isPrinterFriendly | ( | ) | const |
- Returns:
- whether the renderer is configured to paint in a printer-friendly fashion.
Definition at line 155 of file katerenderer.cpp.
| void KateRenderer::layoutLine | ( | KateLineLayoutPtr | line, |
| int | maxwidth = -1, |
||
| bool | cacheLayout = false |
||
| ) | const |
Text width & height calculation functions...
Definition at line 885 of file katerenderer.cpp.
| int KateRenderer::lineHeight | ( | ) |
Definition at line 819 of file katerenderer.cpp.
| void KateRenderer::paintTextLine | ( | QPainter & | paint, |
| KateLineLayoutPtr | range, | ||
| int | xStart, | ||
| int | xEnd, | ||
| const KTextEditor::Cursor * | cursor = 0L |
||
| ) |
This is the ultimate function to perform painting of a text line.
The text line is painted from the upper limit of (0,0). To move that, apply a transform to your painter.
- Parameters:
-
paint painter to use range layout to use in painting this line xStart starting width in pixels. xEnd ending width in pixels. cursor position of the caret, if placed on the current line.
Definition at line 541 of file katerenderer.cpp.
| void KateRenderer::paintTextLineBackground | ( | QPainter & | paint, |
| KateLineLayoutPtr | layout, | ||
| int | currentViewLine, | ||
| int | xStart, | ||
| int | xEnd | ||
| ) |
Paint the background of a line.
Split off from the main paintTextLine method to make it smaller. As it's being called only once per line it shouldn't noticably affect performance and it helps readability a LOT.
- Parameters:
-
paint painter to use layout layout to use in painting this line currentViewLine if one of the view lines is the current line, set this to the index; otherwise -1. xStart starting width in pixels. xEnd ending width in pixels.
Definition at line 169 of file katerenderer.cpp.
| void KateRenderer::setCaretOverrideColor | ( | const QColor & | color | ) |
Set a brush with which to override drawing of the caret.
Set to QColor() to clear.
Definition at line 1056 of file katerenderer.cpp.
| void KateRenderer::setCaretStyle | ( | KateRenderer::caretStyles | style | ) |
Set the style of caret to be painted.
- Parameters:
-
style style to set
Definition at line 97 of file katerenderer.cpp.
| void KateRenderer::setDrawCaret | ( | bool | drawCaret | ) |
Set whether the caret (text cursor) will be drawn.
- Parameters:
-
drawCaret should caret be drawn?
Definition at line 92 of file katerenderer.cpp.
| void KateRenderer::setIndentWidth | ( | int | indentWidth | ) |
Sets the width of the tab.
Helps performance.
- Parameters:
-
indentWidth new indent width
Definition at line 127 of file katerenderer.cpp.
| void KateRenderer::setPrinterFriendly | ( | bool | printerFriendly | ) |
Configure this renderer to paint in a printer-friendly fashion.
Sets the other options appropriately if true.
Definition at line 160 of file katerenderer.cpp.
| void KateRenderer::setShowIndentLines | ( | bool | showLines | ) |
Set whether a guide should be painted to help identifying indent lines.
- Parameters:
-
showLines show the indent lines?
Definition at line 122 of file katerenderer.cpp.
| void KateRenderer::setShowSelections | ( | bool | showSelections | ) |
Set whether the view's selections should be shown.
The default is true.
- Parameters:
-
showSelections show the selections?
Definition at line 132 of file katerenderer.cpp.
| void KateRenderer::setShowTabs | ( | bool | showTabs | ) |
Set whether a mark should be painted to help identifying tabs.
- Parameters:
-
showTabs show the tabs?
Definition at line 102 of file katerenderer.cpp.
| void KateRenderer::setShowTrailingSpaces | ( | bool | showSpaces | ) |
Set whether a mark should be painted for trailing spaces.
Definition at line 107 of file katerenderer.cpp.
| void KateRenderer::setTabWidth | ( | int | tabWidth | ) |
Sets the width of the tab.
Helps performance.
- Parameters:
-
tabWidth new tab width
Definition at line 112 of file katerenderer.cpp.
| bool KateRenderer::showIndentLines | ( | ) | const |
- Returns:
- whether indent lines should be shown
- indent lines should be shown
Definition at line 117 of file katerenderer.cpp.
| bool KateRenderer::showSelections | ( | ) | const [inline] |
| bool KateRenderer::showTabs | ( | ) | const [inline] |
- Returns:
- whether tabs should be shown (ie. a small mark drawn to identify a tab)
- tabs should be shown
Definition at line 122 of file katerenderer.h.
| bool KateRenderer::showTrailingSpaces | ( | ) | const [inline] |
- Returns:
- whether trailing spaces should be shown.
Definition at line 133 of file katerenderer.h.
| uint KateRenderer::spaceWidth | ( | ) | const |
Definition at line 880 of file katerenderer.cpp.
| KTextEditor::Attribute::Ptr KateRenderer::specificAttribute | ( | int | context | ) | const |
Definition at line 84 of file katerenderer.cpp.
| uint KateRenderer::textWidth | ( | const Kate::TextLine & | , |
| int | cursorCol | ||
| ) |
| uint KateRenderer::textWidth | ( | const Kate::TextLine & | textLine, |
| uint | startcol, | ||
| uint | maxwidth, | ||
| bool * | needWrap, | ||
| int * | endX = 0 |
||
| ) |
| uint KateRenderer::textWidth | ( | const KTextEditor::Cursor & | cursor | ) |
| void KateRenderer::updateAttributes | ( | ) |
update the highlighting attributes (for example after an hl change or after hl config changed)
Definition at line 71 of file katerenderer.cpp.
| void KateRenderer::updateConfig | ( | ) |
Definition at line 871 of file katerenderer.cpp.
| KateView* KateRenderer::view | ( | ) | const [inline] |
Returns the view to which this renderer is bound.
Definition at line 80 of file katerenderer.h.
| KTextEditor::Cursor KateRenderer::xToCursor | ( | const KateTextLayout & | range, |
| int | x, | ||
| bool | returnPastLine = false |
||
| ) | const |
Returns the real cursor which is occupied by the specified x value, or that closest to it.
If returnPastLine is true, the column will be extrapolated out with the assumption that the extra characters are spaces.
Definition at line 1044 of file katerenderer.cpp.
The documentation for this class was generated from the following files:
KDE 4.6 API Reference