Scribus Developer Documentation - API
logo-pen

Scribus Developer Documentation - API

LineControl Struct Reference

Collaboration diagram for LineControl:

Collaboration graph
[legend]

List of all members.

Public Member Functions

void init (double w, double h, const MarginStruct &extra, double lCorr)
 remember frame dimensions and offsets
void initColumns (double width, double gap)
 start at column 0
void nextColumn (double asce)
 move position to next column
bool isEndOfCol (double morespace=0)
void startLine (int first)
void rememberShrinkStretch (QChar ch, double wide, const ParagraphStyle &style)
 called when glyphs are placed on the line
void rememberBreak (int index, double pos)
 called when a possible break is passed
void breakLine (const StoryText &itemText, int last)
 called when a mandatory break is found
void finishLine (double endX)
 use the last remembered break to set line width and itemrange
bool isEndOfLine (double moreSpace=0)
double startOfLine (const QRegion &shape, const QMatrix &pf2, double ascent, double descent, double morespace)
 find x position to start current line
double endOfLine (const QRegion &shape, const QMatrix &pf2, double ascent, double descent, double morespace=0)
 find x position where this line must end
double getLineAscent (const StoryText &itemText)
double getLineHeight (const StoryText &itemText)

Public Attributes

LineSpec line
int itemsInLine
int hyphenCount
double colWidth
double colGap
double colLeft
double colRight
int column
bool startOfCol
double ascend
double descend
double width
double xPos
double yPos
int breakIndex
double breakXPos
double maxShrink
double maxStretch

Private Attributes

double frameWidth
double frameHeight
MarginStruct insets
double lineCorr


Detailed Description

fields which describe how the current line is placed into the frame

Definition at line 313 of file pageitem_textframe.cpp.


Member Function Documentation

void LineControl::init ( double  w,
double  h,
const MarginStruct extra,
double  lCorr 
) [inline]

remember frame dimensions and offsets

Definition at line 336 of file pageitem_textframe.cpp.

Referenced by PageItem_TextFrame::layout().

void LineControl::initColumns ( double  width,
double  gap 
) [inline]

start at column 0

Definition at line 345 of file pageitem_textframe.cpp.

Referenced by PageItem_TextFrame::layout().

void LineControl::nextColumn ( double  asce  )  [inline]

move position to next column

Definition at line 353 of file pageitem_textframe.cpp.

References MarginStruct::Left, PageItem::xPos(), and PageItem::yPos().

Referenced by PageItem_TextFrame::layout().

bool LineControl::isEndOfCol ( double  morespace = 0  )  [inline]

Definition at line 364 of file pageitem_textframe.cpp.

References PageItem::yPos().

Referenced by PageItem_TextFrame::layout().

void LineControl::startLine ( int  first  )  [inline]

init fields for a new line at current position

Definition at line 372 of file pageitem_textframe.cpp.

References PageItem::xPos(), and PageItem::yPos().

Referenced by PageItem_TextFrame::layout().

void LineControl::rememberShrinkStretch ( QChar  ch,
double  wide,
const ParagraphStyle style 
) [inline]

called when glyphs are placed on the line

Definition at line 390 of file pageitem_textframe.cpp.

References SpecialChars::isExpandingSpace().

Referenced by PageItem_TextFrame::layout().

void LineControl::rememberBreak ( int  index,
double  pos 
) [inline]

called when a possible break is passed

Definition at line 402 of file pageitem_textframe.cpp.

Referenced by PageItem_TextFrame::layout().

void LineControl::breakLine ( const StoryText itemText,
int  last 
) [inline]

called when a mandatory break is found

Definition at line 428 of file pageitem_textframe.cpp.

References CharStyle::effects(), ScText::glyph, StoryText::item(), ScStyle_SuppressSpace, and GlyphLayout::wide().

Referenced by PageItem_TextFrame::layout().

void LineControl::finishLine ( double  endX  )  [inline]

use the last remembered break to set line width and itemrange

Definition at line 438 of file pageitem_textframe.cpp.

Referenced by PageItem_TextFrame::layout().

bool LineControl::isEndOfLine ( double  moreSpace = 0  )  [inline]

Definition at line 447 of file pageitem_textframe.cpp.

References PageItem::xPos().

Referenced by PageItem_TextFrame::layout().

double LineControl::startOfLine ( const QRegion &  shape,
const QMatrix &  pf2,
double  ascent,
double  descent,
double  morespace 
) [inline]

find x position to start current line

Definition at line 456 of file pageitem_textframe.cpp.

References PageItem::xPos(), and PageItem::yPos().

double LineControl::endOfLine ( const QRegion &  shape,
const QMatrix &  pf2,
double  ascent,
double  descent,
double  morespace = 0 
) [inline]

find x position where this line must end

Definition at line 477 of file pageitem_textframe.cpp.

References PageItem::yPos().

Referenced by PageItem_TextFrame::layout().

double LineControl::getLineAscent ( const StoryText itemText  )  [inline]

double LineControl::getLineHeight ( const StoryText itemText  )  [inline]


Member Data Documentation

Definition at line 314 of file pageitem_textframe.cpp.

Referenced by PageItem_TextFrame::layout().

Definition at line 315 of file pageitem_textframe.cpp.

Referenced by PageItem_TextFrame::layout().

Definition at line 316 of file pageitem_textframe.cpp.

Referenced by PageItem_TextFrame::layout().

Definition at line 317 of file pageitem_textframe.cpp.

Definition at line 318 of file pageitem_textframe.cpp.

Definition at line 319 of file pageitem_textframe.cpp.

Referenced by PageItem_TextFrame::layout().

Definition at line 320 of file pageitem_textframe.cpp.

Referenced by PageItem_TextFrame::layout().

Definition at line 321 of file pageitem_textframe.cpp.

Referenced by PageItem_TextFrame::layout().

Definition at line 322 of file pageitem_textframe.cpp.

Referenced by PageItem_TextFrame::layout().

Definition at line 323 of file pageitem_textframe.cpp.

Definition at line 324 of file pageitem_textframe.cpp.

Definition at line 325 of file pageitem_textframe.cpp.

Definition at line 326 of file pageitem_textframe.cpp.

Referenced by PageItem_TextFrame::layout().

Definition at line 327 of file pageitem_textframe.cpp.

Referenced by PageItem_TextFrame::layout().

Definition at line 328 of file pageitem_textframe.cpp.

Referenced by PageItem_TextFrame::layout().

Definition at line 329 of file pageitem_textframe.cpp.

Definition at line 331 of file pageitem_textframe.cpp.

Referenced by PageItem_TextFrame::layout().

Definition at line 332 of file pageitem_textframe.cpp.

double LineControl::frameWidth [private]

Definition at line 555 of file pageitem_textframe.cpp.

double LineControl::frameHeight [private]

Definition at line 556 of file pageitem_textframe.cpp.

Definition at line 557 of file pageitem_textframe.cpp.

double LineControl::lineCorr [private]

Definition at line 558 of file pageitem_textframe.cpp.


The documentation for this struct was generated from the following file:
Created with personalized Doxygen. This is documentation for GPL software Scribus - Open Source Desktop Publishing.