Main Page | Modules | Class Hierarchy | Class List | File List | Class Members | Related Pages

LineGr Class Reference
[Layout]

#include <LineGr.h>

Inheritance diagram for LineGr:

Graphical List of all members.

Public Member Functions

float getHeight ()
void firstPass ()
void secondPass ()
 LineGr (Graphical *, Container *,int,MarginPage *, Constraint *,int index, int pagenb)
void update ()
void paint ()
int last ()
ConstraintgetConstraint ()

Detailed Description

This class represent a line with all parts in a score. there is a strong constrain made by the program here : There is no possibility to split a line into its several parts and put it on different pages, but I never seen such a score.


Constructor & Destructor Documentation

LineGr::LineGr Graphical p,
Container c,
int  n,
MarginPage pm,
Constraint cst,
int  index,
int  pgnb
 

Explanation of the algorithm : As we dont know the length of the line we will draw as many measure as we can on the line. When we draw the last measure section either we are at the end of the score or we draw above the limits of the line size.

It is a two pass process, First we build the Line. Then we make the first pass. Then we do the second pass.

See also:
specs for details.
Parameters:
p is the parent container is the margin of the page
is the starting measure section
index the index of the line implements the destructor of a measure section


Member Function Documentation

void LineGr::firstPass  ) 
 

This make the first pass of a line. The first pass compute the number of measure in the line. Then the kerning is applied by the second pass

float LineGr::getHeight  ) 
 

Returns:
the Graphical height of the line.
Deprecated:
use the YLine Constrainer instead *

int LineGr::last  ) 
 

Returns:
the last mesureSection in the line *

void LineGr::paint  )  [virtual]
 

Draw the children measure sections *

Implements Graphical.

void LineGr::secondPass  ) 
 

Plays the second pass of a line In this pass we expand the constraint to fit the page dimenstion change the improper nam lineWidth to LineRight

I dont understand why such a shit remove this quickly and rewrite first pass method

Kerning compensation constraint->getMeasureSectionConstraint(nMeasureLast)->setEndOfMeasureSection(rightMargin);

We close the last measure section

void LineGr::update  )  [virtual]
 

update should be reimplemented by every layout that may cause a reorganisation in its upper hierarchical level.

Reimplemented from Graphical.


The documentation for this class was generated from the following files:
Generated on Tue Jun 1 21:13:32 2004 for Alternate Take by doxygen 1.3.6