KateRenderer Class Reference
Handles all of the work of rendering the text (used for the views and printing). More...
#include <katerenderer.h>
Collaboration diagram for KateRenderer:

Public Types | |
enum | caretStyles { Insert, Replace } |
Public Member Functions | |
KateRenderer (KateDocument *doc, KateView *view=0) | |
~KateRenderer () | |
void | updateAttributes () |
bool | drawCaret () const |
void | setDrawCaret (bool drawCaret) |
KateRenderer::caretStyles | caretStyle () const |
void | setCaretStyle (KateRenderer::caretStyles style) |
bool | showTabs () const |
void | setShowTabs (bool showTabs) |
void | setTabWidth (int tabWidth) |
bool | showSelections () const |
void | setShowSelections (bool showSelections) |
void | increaseFontSizes () |
void | decreaseFontSizes () |
const QFont * | currentFont () |
const QFontMetrics * | currentFontMetrics () |
bool | isPrinterFriendly () const |
void | setPrinterFriendly (bool printerFriendly) |
uint | spaceWidth () |
uint | textWidth (const KateTextLine::Ptr &, int cursorCol) |
uint | textWidth (const KateTextLine::Ptr &textLine, uint startcol, uint maxwidth, bool *needWrap, int *endX=0) |
uint | textWidth (const KateTextCursor &cursor) |
uint | textWidth (KateTextCursor &cursor, int xPos, uint startCol=0) |
uint | textPos (uint line, int xPos, uint startCol=0, bool nearest=true) |
uint | textPos (const KateTextLine::Ptr &, int xPos, uint startCol=0, bool nearest=true) |
uint | fontHeight () |
uint | documentHeight () |
bool | getSelectionBounds (uint line, uint lineLength, uint &start, uint &end) |
void | paintTextLine (QPainter &paint, const KateLineRange *range, int xStart, int xEnd, const KateTextCursor *cursor=0L, const KateTextRange *bracketmark=0L) |
bool | paintTextLineBackground (QPainter &paint, int line, bool isCurrentLine, int xStart, int xEnd) |
KateAttribute * | attribute (uint pos) |
KateRendererConfig * | config () |
void | updateConfig () |
Detailed Description
Handles all of the work of rendering the text (used for the views and printing).
Definition at line 42 of file katerenderer.h.
Member Enumeration Documentation
|
Style of Caret (Insert or Replace mode).
Definition at line 48 of file katerenderer.h. |
Constructor & Destructor Documentation
|
Constructor.
Definition at line 40 of file katerenderer.cpp. References updateAttributes(). |
|
Destructor.
Definition at line 55 of file katerenderer.cpp. |
Member Function Documentation
|
update the highlighting attributes (for example after an hl change or after hl config changed)
Definition at line 61 of file katerenderer.cpp. References config(). Referenced by KateRenderer(). |
|
Determine whether the caret (text cursor) will be drawn.
Definition at line 75 of file katerenderer.h. Referenced by paintTextLine(). |
|
Set whether the caret (text cursor) will be drawn.
Definition at line 75 of file katerenderer.cpp. Referenced by setPrinterFriendly(). |
|
The style of the caret (text cursor) to be painted.
Definition at line 87 of file katerenderer.h. Referenced by paintTextLine(). |
|
Set the style of caret to be painted.
Definition at line 80 of file katerenderer.cpp. |
|
Definition at line 100 of file katerenderer.h. Referenced by paintTextLine(). |
|
Set whether a mark should be painted to help identifying tabs.
Definition at line 85 of file katerenderer.cpp. Referenced by setPrinterFriendly(). |
|
Sets the width of the tab. Helps performance.
Definition at line 90 of file katerenderer.cpp. |
|
Show the view's selection?
Definition at line 118 of file katerenderer.h. Referenced by paintTextLine(), and paintTextLineBackground(). |
|
Set whether the view's selections should be shown. The default is true.
Definition at line 95 of file katerenderer.cpp. Referenced by setPrinterFriendly(). |
|
Change to a different font (soon to be font set?).
Definition at line 100 of file katerenderer.cpp. References config(), QFont::pointSize(), and QFont::setPointSize(). |
|
Definition at line 118 of file katerenderer.cpp. Referenced by paintTextLine(), and paintTextLineBackground(). |
|
Configure this renderer to paint in a printer-friendly fashion. Sets the other options appropriately if true. Definition at line 123 of file katerenderer.cpp. References setDrawCaret(), setShowSelections(), and setShowTabs(). |
|
Text width & height calculation functions...
Definition at line 902 of file katerenderer.cpp. References attribute(), config(), and KateAttribute::width(). |
|
nearest is true, the character starting nearest to xPos is returned. If nearest is false, the index of the character containing xPos is returned.
Definition at line 809 of file katerenderer.cpp. |
|
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 814 of file katerenderer.cpp. References attribute(), config(), and KateAttribute::width(). |
|
This is the ultimate function to perform painting of a text line. (supports startcol/endcol, startx/endx) The text line is painted from the upper limit of (0,0). To move that, apply a transform to your painter. Definition at line 206 of file katerenderer.cpp. References KateAttribute::bgColor(), caretStyle(), KateTextCursor::col(), QColorGroup::color(), config(), KSharedPtr< T >::data(), drawCaret(), QString::fill(), KateAttribute::font(), isPrinterFriendly(), KateAttribute::itemSet(), QString::length(), paintTextLineBackground(), KateAttribute::selectedTextColor(), KateTextCursor::setCol(), QColor::setHsv(), KateAttribute::setTextColor(), showSelections(), showTabs(), KateAttribute::textColor(), and KateAttribute::width(). |
|
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.
Definition at line 131 of file katerenderer.cpp. References QColor::blue(), config(), QColor::green(), isPrinterFriendly(), QColor::isValid(), QColor::red(), QColor::setRgb(), and showSelections(). Referenced by paintTextLine(). |
|
This takes an in index, and returns all the attributes for it. For example, if you have a ktextline, and want the KateAttribute for a given position, do: attribute(myktextline->attribute(position)); Definition at line 67 of file katerenderer.cpp. References QMemArray::at(). Referenced by spaceWidth(), and textPos(). |
|
Configuration.
Definition at line 242 of file katerenderer.h. Referenced by increaseFontSizes(), paintTextLine(), paintTextLineBackground(), spaceWidth(), textPos(), and updateAttributes(). |
The documentation for this class was generated from the following files: