Reader small image

You're reading from  C++ Windows Programming

Product typeBook
Published inSep 2016
Reading LevelIntermediate
PublisherPackt
ISBN-139781786464224
Edition1st Edition
Languages
Right arrow
Author (1)
Stefan Björnander
Stefan Björnander
author image
Stefan Björnander

Stefan Björnander is the author of the books Microsoft Windows C++ and C++ Windows Programming. He holds a Master of Engineering and a Licentiate in Computer Science. He has worked as a software developer and as a teacher in computer science and mathematics for many years.
Read more about Stefan Björnander

Right arrow

Character calculation


The GenerateParagraph fucnction generates the character rectangles and the line lists of a paragraph every time characters are added or removed or when the font or alignment is changed. First, we generate lists of sizes and ascents for every character as well as the line list by calling the GenerateSizeAndAscentList and GenerateLineList methods. Then, we iterate through the line list and generate the character rectangles by calling the GenerateLineRectList method. Finally, we invalidate the characters that have been changed by comparing them to the original rectangle lists:

void WordDocument::GenerateParagraph(Paragraph* paragraphPtr) { 
  if (!charList.Empty()) { 
    DynamicList<Size> sizeList; 
    DynamicList<int> ascentList; 
    DynamicList<CharInfo> prevCharList; 

    charList.Copy(prevCharList, paragraphPtr->First(), 
                  paragraphPtr->Last()); 
 
    GenerateSizeAndAscentList...
lock icon
The rest of the page is locked
Previous PageNext Page
You have been reading a chapter from
C++ Windows Programming
Published in: Sep 2016Publisher: PacktISBN-13: 9781786464224

Author (1)

author image
Stefan Björnander

Stefan Björnander is the author of the books Microsoft Windows C++ and C++ Windows Programming. He holds a Master of Engineering and a Licentiate in Computer Science. He has worked as a software developer and as a teacher in computer science and mathematics for many years.
Read more about Stefan Björnander