• Skip to content
  • Skip to link menu
KDE 4.3 API Reference
  • KDE API Reference
  • kdelibs
  • Sitemap
  • Contact Us
 

Kate

KateRenderer Class Reference

Handles all of the work of rendering the text (used for the views and printing). More...

#include <katerenderer.h>

List of all members.

Public Types

enum  caretStyles { Line, Block }

Public Member Functions

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, const KTextEditor::Cursor &pos, bool returnPastLine) const
int cursorToX (const KateTextLayout &range, const KTextEditor::Cursor &pos) const
int cursorToX (const KateTextLayout &range, int col) const
QList< QTextLayout::FormatRange > decorationsForLine (const KateTextLine::Ptr &textLine, int line, bool selectionsOnly=false, KateRenderRange *completionHighlight=0L, bool completionSelected=false) const
void decreaseFontSizes ()
KateDocument * doc () const
uint documentHeight ()
bool drawCaret () const
KateSmartRegion & dynamicRegion ()
uint fontHeight ()
bool getSelectionBounds (int line, int lineLength, int &start, int &end) const
void increaseFontSizes ()
bool isLineRightToLeft (KateLineLayoutPtr lineLayout) const
bool isPrinterFriendly () const
 KateRenderer (KateDocument *doc, KateView *view=0)
void layoutLine (KateLineLayoutPtr line, int maxwidth=-1, bool cacheLayout=false) const
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
KDE_DEPRECATED uint textWidth (const KTextEditor::Cursor &cursor)
KDE_DEPRECATED uint textWidth (const KateTextLine::Ptr &textLine, uint startcol, uint maxwidth, bool *needWrap, int *endX=0)
KDE_DEPRECATED uint textWidth (const KateTextLine::Ptr &, int cursorCol)
void updateAttributes ()
void updateConfig ()
KateView * view () const
KTextEditor::Cursor xToCursor (const KateTextLayout &range, int x, bool returnPastLine=false) const
 ~KateRenderer ()

Detailed Description

Handles all of the work of rendering the text (used for the views and printing).

Definition at line 51 of file katerenderer.h.


Member Enumeration Documentation

enum KateRenderer::caretStyles

Style of Caret (Vertical line or block).

Enumerator:
Line 
Block 

Definition at line 57 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 44 of file katerenderer.cpp.

KateRenderer::~KateRenderer (  ) 

Destructor.

Definition at line 61 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 71 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 106 of file katerenderer.h.

KateRendererConfig* KateRenderer::config (  )  const [inline]

Configuration.

Definition at line 335 of file katerenderer.h.

const QFont & KateRenderer::currentFont (  )  const

Definition at line 677 of file katerenderer.cpp.

const QFontMetrics & KateRenderer::currentFontMetrics (  )  const

Definition at line 682 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 906 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 899 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 894 of file katerenderer.cpp.

QList< QTextLayout::FormatRange > KateRenderer::decorationsForLine ( const KateTextLine::Ptr &  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 290 of file katerenderer.cpp.

void KateRenderer::decreaseFontSizes (  ) 

Definition at line 140 of file katerenderer.cpp.

KateDocument* KateRenderer::doc (  )  const [inline]

Returns the document to which this renderer is bound.

Definition at line 77 of file katerenderer.h.

uint KateRenderer::documentHeight (  ) 

Definition at line 692 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 94 of file katerenderer.h.

KateSmartRegion& KateRenderer::dynamicRegion (  )  [inline]

Definition at line 225 of file katerenderer.h.

uint KateRenderer::fontHeight (  ) 

Definition at line 687 of file katerenderer.cpp.

bool KateRenderer::getSelectionBounds ( int  line,
int  lineLength,
int &  start,
int &  end 
) const

Definition at line 697 of file katerenderer.cpp.

void KateRenderer::increaseFontSizes (  ) 

Change to a different font (soon to be font set?).

Definition at line 132 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 856 of file katerenderer.cpp.

bool KateRenderer::isPrinterFriendly (  )  const
Returns:
whether the renderer is configured to paint in a printer-friendly fashion.

Definition at line 150 of file katerenderer.cpp.

void KateRenderer::layoutLine ( KateLineLayoutPtr  line,
int  maxwidth = -1,
bool  cacheLayout = false 
) const

Text width & height calculation functions.

..

Definition at line 758 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 433 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 164 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 929 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 92 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 87 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 122 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 155 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 117 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 127 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 97 of file katerenderer.cpp.

void KateRenderer::setShowTrailingSpaces ( bool  showSpaces  ) 

Set whether a mark should be painted for trailing spaces.

Definition at line 102 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 107 of file katerenderer.cpp.

bool KateRenderer::showIndentLines (  )  const
Returns:
whether indent lines should be shown
indent lines should be shown

Definition at line 112 of file katerenderer.cpp.

bool KateRenderer::showSelections (  )  const [inline]

Show the view's selection?

Returns:
show sels?

Definition at line 170 of file katerenderer.h.

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 124 of file katerenderer.h.

bool KateRenderer::showTrailingSpaces (  )  const [inline]
Returns:
whether trailing spaces should be shown.

Definition at line 135 of file katerenderer.h.

uint KateRenderer::spaceWidth (  )  const

Definition at line 753 of file katerenderer.cpp.

KTextEditor::Attribute::Ptr KateRenderer::specificAttribute ( int  context  )  const

Definition at line 79 of file katerenderer.cpp.

KDE_DEPRECATED uint KateRenderer::textWidth ( const KTextEditor::Cursor &  cursor  ) 
KDE_DEPRECATED uint KateRenderer::textWidth ( const KateTextLine::Ptr &  textLine,
uint  startcol,
uint  maxwidth,
bool *  needWrap,
int *  endX = 0 
)
KDE_DEPRECATED uint KateRenderer::textWidth ( const KateTextLine::Ptr &  ,
int  cursorCol 
)
void KateRenderer::updateAttributes (  ) 

update the highlighting attributes (for example after an hl change or after hl config changed)

Definition at line 66 of file katerenderer.cpp.

void KateRenderer::updateConfig (  ) 

Definition at line 744 of file katerenderer.cpp.

KateView* KateRenderer::view (  )  const [inline]

Returns the view to which this renderer is bound.

Definition at line 82 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 917 of file katerenderer.cpp.


The documentation for this class was generated from the following files:
  • katerenderer.h
  • katerenderer.cpp

Kate

Skip menu "Kate"
  • Main Page
  • Namespace List
  • Class Hierarchy
  • Alphabetical List
  • Class List
  • File List
  • Namespace Members
  • Class Members
  • Related Pages

kdelibs

Skip menu "kdelibs"
  • DNSSD
  • Interfaces
  •   KHexEdit
  •   KMediaPlayer
  •   KSpeech
  •   KTextEditor
  • Kate
  • kconf_update
  • KDE3Support
  •   KUnitTest
  • KDECore
  • KDED
  • KDEsu
  • KDEUI
  • KDocTools
  • KFile
  • KHTML
  • KImgIO
  • KInit
  • kio
  • KIOSlave
  • KJS
  •   KJS-API
  •   WTF
  • kjsembed
  • KNewStuff
  • KParts
  • KPty
  • Kross
  • KUtils
  • Nepomuk
  • Plasma
  • Solid
  • Sonnet
  • ThreadWeaver
Generated for kdelibs by doxygen 1.6.1
This website is maintained by Adriaan de Groot and Allen Winter.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal