geany  1.38
About: Geany is a text editor (using GTK2) with basic features of an integrated development environment (syntax highlighting, code folding, symbol name auto-completion, ...). F: office T: editor programming GTK+ IDE
  Fossies Dox: geany-1.38.tar.bz2  ("unofficial" and yet experimental doxygen-generated source code documentation)  

Scintilla::LineLayout Class Reference

#include <PositionCache.h>

Collaboration diagram for Scintilla::LineLayout:
[legend]

Public Types

enum  { wrapWidthInfinite = 0x7ffffff }
 
enum class  ValidLevel { invalid , checkTextAndStyle , positions , lines }
 
enum class  Scope { visibleOnly , includeEnd }
 

Public Member Functions

 LineLayout (int maxLineLength_)
 
 LineLayout (const LineLayout &)=delete
 
 LineLayout (LineLayout &&)=delete
 
void operator= (const LineLayout &)=delete
 
void operator= (LineLayout &&)=delete
 
virtual ~LineLayout ()
 
void Resize (int maxLineLength_)
 
void Free () noexcept
 
void Invalidate (ValidLevel validity_) noexcept
 
int LineStart (int line) const noexcept
 
int LineLength (int line) const noexcept
 
int LineLastVisible (int line, Scope scope) const noexcept
 
Range SubLineRange (int subLine, Scope scope) const noexcept
 
bool InLine (int offset, int line) const noexcept
 
void SetLineStart (int line, int start)
 
void SetBracesHighlight (Range rangeLine, const Sci::Position braces[], char bracesMatchStyle, int xHighlight, bool ignoreStyle)
 
void RestoreBracesHighlight (Range rangeLine, const Sci::Position braces[], bool ignoreStyle)
 
int FindBefore (XYPOSITION x, Range range) const noexcept
 
int FindPositionFromX (XYPOSITION x, Range range, bool charPosition) const noexcept
 
Point PointFromPosition (int posInLine, int lineHeight, PointEnd pe) const noexcept
 
int EndLineStyle () const noexcept
 

Public Attributes

int maxLineLength
 
int numCharsInLine
 
int numCharsBeforeEOL
 
enum Scintilla::LineLayout::ValidLevel validity
 
int xHighlightGuide
 
bool highlightColumn
 
bool containsCaret
 
int edgeColumn
 
std::unique_ptr< char[]> chars
 
std::unique_ptr< unsigned char[]> styles
 
std::unique_ptr< XYPOSITION[]> positions
 
char bracePreviousStyles [2]
 
Range hotspot
 
int widthLine
 
int lines
 
XYPOSITION wrapIndent
 

Private Attributes

std::unique_ptr< int[]> lineStarts
 
int lenLineStarts
 
Sci::Line lineNumber
 Drawing is only performed for maxLineLength characters on each line. More...
 
bool inCache
 

Friends

class LineLayoutCache
 

Detailed Description

Definition at line 49 of file PositionCache.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
wrapWidthInfinite 

Definition at line 58 of file PositionCache.h.

◆ Scope

enum class Scintilla::LineLayout::Scope
strong
Enumerator
visibleOnly 
includeEnd 

Definition at line 93 of file PositionCache.h.

◆ ValidLevel

Enumerator
invalid 
checkTextAndStyle 
positions 
lines 

Definition at line 63 of file PositionCache.h.

Constructor & Destructor Documentation

◆ LineLayout() [1/3]

LineLayout::LineLayout ( int  maxLineLength_)
explicit

Definition at line 50 of file PositionCache.cxx.

References Resize().

◆ LineLayout() [2/3]

Scintilla::LineLayout::LineLayout ( const LineLayout )
delete

◆ LineLayout() [3/3]

Scintilla::LineLayout::LineLayout ( LineLayout &&  )
delete

◆ ~LineLayout()

LineLayout::~LineLayout ( )
virtual

Definition at line 70 of file PositionCache.cxx.

References Free().

Member Function Documentation

◆ EndLineStyle()

◆ FindBefore()

int LineLayout::FindBefore ( XYPOSITION  x,
Range  range 
) const
noexcept

Definition at line 181 of file PositionCache.cxx.

Referenced by Scintilla::BreakFinder::BreakFinder().

◆ FindPositionFromX()

int LineLayout::FindPositionFromX ( XYPOSITION  x,
Range  range,
bool  charPosition 
) const
noexcept

◆ Free()

void LineLayout::Free ( )
noexcept

Definition at line 86 of file PositionCache.cxx.

References chars, lineStarts, positions, and styles.

Referenced by Resize(), and ~LineLayout().

◆ InLine()

bool LineLayout::InLine ( int  offset,
int  line 
) const
noexcept

Definition at line 122 of file PositionCache.cxx.

References line, lines, and LineStart().

Referenced by Scintilla::EditView::DrawCarets().

◆ Invalidate()

void LineLayout::Invalidate ( ValidLevel  validity_)
noexcept

Definition at line 93 of file PositionCache.cxx.

◆ LineLastVisible()

int LineLayout::LineLastVisible ( int  line,
Scope  scope 
) const
noexcept

Definition at line 108 of file PositionCache.cxx.

References line, lines, and scope.

◆ LineLength()

int Scintilla::LineLayout::LineLength ( int  line) const
noexcept

◆ LineStart()

◆ operator=() [1/2]

void Scintilla::LineLayout::operator= ( const LineLayout )
delete

◆ operator=() [2/2]

void Scintilla::LineLayout::operator= ( LineLayout &&  )
delete

◆ PointFromPosition()

Point LineLayout::PointFromPosition ( int  posInLine,
int  lineHeight,
PointEnd  pe 
) const
noexcept

◆ Resize()

void LineLayout::Resize ( int  maxLineLength_)

Definition at line 74 of file PositionCache.cxx.

References chars, Free(), maxLineLength, positions, and styles.

Referenced by LineLayout().

◆ RestoreBracesHighlight()

void LineLayout::RestoreBracesHighlight ( Range  rangeLine,
const Sci::Position  braces[],
bool  ignoreStyle 
)

◆ SetBracesHighlight()

void LineLayout::SetBracesHighlight ( Range  rangeLine,
const Sci::Position  braces[],
char  bracesMatchStyle,
int  xHighlight,
bool  ignoreStyle 
)

◆ SetLineStart()

void LineLayout::SetLineStart ( int  line,
int  start 
)

Definition at line 127 of file PositionCache.cxx.

References lenLineStarts, line, and lineStarts.

Referenced by Scintilla::EditView::LayoutLine().

◆ SubLineRange()

Range LineLayout::SubLineRange ( int  subLine,
Scope  scope 
) const
noexcept

Friends And Related Function Documentation

◆ LineLayoutCache

friend class LineLayoutCache
friend

Definition at line 51 of file PositionCache.h.

Member Data Documentation

◆ bracePreviousStyles

char Scintilla::LineLayout::bracePreviousStyles[2]

Definition at line 71 of file PositionCache.h.

Referenced by RestoreBracesHighlight(), and SetBracesHighlight().

◆ chars

◆ containsCaret

◆ edgeColumn

int Scintilla::LineLayout::edgeColumn

◆ highlightColumn

bool Scintilla::LineLayout::highlightColumn

Definition at line 65 of file PositionCache.h.

◆ hotspot

Range Scintilla::LineLayout::hotspot

◆ inCache

bool Scintilla::LineLayout::inCache
private

Definition at line 56 of file PositionCache.h.

◆ lenLineStarts

int Scintilla::LineLayout::lenLineStarts
private

Definition at line 53 of file PositionCache.h.

Referenced by SetLineStart().

◆ lineNumber

Sci::Line Scintilla::LineLayout::lineNumber
private

Drawing is only performed for maxLineLength characters on each line.

Definition at line 55 of file PositionCache.h.

Referenced by Scintilla::LineLayoutCache::Retrieve().

◆ lines

◆ lineStarts

std::unique_ptr<int []> Scintilla::LineLayout::lineStarts
private

Definition at line 52 of file PositionCache.h.

Referenced by Free(), and SetLineStart().

◆ maxLineLength

int Scintilla::LineLayout::maxLineLength

Definition at line 60 of file PositionCache.h.

Referenced by Scintilla::EditView::LayoutLine(), and Resize().

◆ numCharsBeforeEOL

◆ numCharsInLine

◆ positions

◆ styles

◆ validity

enum Scintilla::LineLayout::ValidLevel Scintilla::LineLayout::validity

◆ widthLine

int Scintilla::LineLayout::widthLine

Definition at line 77 of file PositionCache.h.

Referenced by Scintilla::EditView::LayoutLine().

◆ wrapIndent

◆ xHighlightGuide


The documentation for this class was generated from the following files: