Marc Bax / Mbed 2 deprecated Flexbook180111a

Dependencies:   SDFileSystem app epson mbed msp430 pl tests

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?

UserRevisionLine numberNew 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