Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: SDFileSystem app epson mbed msp430 pl tests
book.cpp@0:c643d398cdb6, 2018-01-11 (annotated)
- Committer:
- marcbax
- Date:
- Thu Jan 11 13:42:27 2018 +0000
- Revision:
- 0:c643d398cdb6
Marc Bax version 180111. It hangs on the WritePartImage in the RedrawAlphabet routine in hangman.cpp. Within that call it does execute Ypos(), but not Xpos().
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| marcbax | 0:c643d398cdb6 | 1 | // |
| marcbax | 0:c643d398cdb6 | 2 | // Filename: book.h |
| marcbax | 0:c643d398cdb6 | 3 | // |
| marcbax | 0:c643d398cdb6 | 4 | // Container for Flexbook pages. |
| marcbax | 0:c643d398cdb6 | 5 | // |
| marcbax | 0:c643d398cdb6 | 6 | |
| marcbax | 0:c643d398cdb6 | 7 | #include "book.h" |
| marcbax | 0:c643d398cdb6 | 8 | |
| marcbax | 0:c643d398cdb6 | 9 | #include "log.h" |
| marcbax | 0:c643d398cdb6 | 10 | #include "pagefactory.h" |
| marcbax | 0:c643d398cdb6 | 11 | #include "page.h" |
| marcbax | 0:c643d398cdb6 | 12 | |
| marcbax | 0:c643d398cdb6 | 13 | #include <iostream> |
| marcbax | 0:c643d398cdb6 | 14 | |
| marcbax | 0:c643d398cdb6 | 15 | namespace Flexbook { |
| marcbax | 0:c643d398cdb6 | 16 | |
| marcbax | 0:c643d398cdb6 | 17 | Book::Book(PageFactory &thefactory) |
| marcbax | 0:c643d398cdb6 | 18 | : factory(thefactory), |
| marcbax | 0:c643d398cdb6 | 19 | pagetype(PageType_PageNull), |
| marcbax | 0:c643d398cdb6 | 20 | page(nullptr) |
| marcbax | 0:c643d398cdb6 | 21 | { |
| marcbax | 0:c643d398cdb6 | 22 | Log("Creating Book"); |
| marcbax | 0:c643d398cdb6 | 23 | } |
| marcbax | 0:c643d398cdb6 | 24 | |
| marcbax | 0:c643d398cdb6 | 25 | Book::~Book() |
| marcbax | 0:c643d398cdb6 | 26 | { |
| marcbax | 0:c643d398cdb6 | 27 | Log("Deleting Book"); |
| marcbax | 0:c643d398cdb6 | 28 | } |
| marcbax | 0:c643d398cdb6 | 29 | |
| marcbax | 0:c643d398cdb6 | 30 | void Book::PageChange(PageType type) |
| marcbax | 0:c643d398cdb6 | 31 | { |
| marcbax | 0:c643d398cdb6 | 32 | Log("Page change"); |
| marcbax | 0:c643d398cdb6 | 33 | |
| marcbax | 0:c643d398cdb6 | 34 | // Delete the old page. |
| marcbax | 0:c643d398cdb6 | 35 | page.reset(); |
| marcbax | 0:c643d398cdb6 | 36 | pagetype = PageType_PageNull; |
| marcbax | 0:c643d398cdb6 | 37 | |
| marcbax | 0:c643d398cdb6 | 38 | // Create the new page and any of it's dependencies. |
| marcbax | 0:c643d398cdb6 | 39 | page = factory.CreatePages(type); |
| marcbax | 0:c643d398cdb6 | 40 | pagetype = type; |
| marcbax | 0:c643d398cdb6 | 41 | } |
| marcbax | 0:c643d398cdb6 | 42 | |
| marcbax | 0:c643d398cdb6 | 43 | PageType Book::GetPageType() const |
| marcbax | 0:c643d398cdb6 | 44 | { |
| marcbax | 0:c643d398cdb6 | 45 | return pagetype; |
| marcbax | 0:c643d398cdb6 | 46 | } |
| marcbax | 0:c643d398cdb6 | 47 | |
| marcbax | 0:c643d398cdb6 | 48 | void Book::HandleActions() |
| marcbax | 0:c643d398cdb6 | 49 | { |
| marcbax | 0:c643d398cdb6 | 50 | if(page.get()) |
| marcbax | 0:c643d398cdb6 | 51 | page->HandlePageActions(); |
| marcbax | 0:c643d398cdb6 | 52 | } |
| marcbax | 0:c643d398cdb6 | 53 | |
| marcbax | 0:c643d398cdb6 | 54 | } // End Flexbook namespace. |
| marcbax | 0:c643d398cdb6 | 55 | |
| marcbax | 0:c643d398cdb6 | 56 |