Dependencies:   mbed FATFileSystem

SceneCreator/SceneFunctions.cpp

Committer:
rottenegg
Date:
2019-04-25
Revision:
9:ac396c818874
Child:
10:4fda7b01484a

File content as of revision 9:ac396c818874:

#include "SceneFunctions.h"

//Constructor Functions
void SceneFunctions::set_buttonPin(PinName pin) {
    _BOK = (new DigitalIn(pin));
    _BOK->mode(PullDown);
    }

void SceneFunctions::deletebutton() {
     delete _BOK;
}

//Ultility Functions
void SceneFunctions::transition(N5110 &lcd) {
    for (int i = 0;i < 84;i++) {
    lcd.drawRect(0,0,i,48,FILL_BLACK);
    lcd.refresh();
    }
    for (int i = 0;i < 84;i++) {
    lcd.drawRect(0,0,i,48,FILL_WHITE);
    lcd.refresh();
    }
}

void SceneFunctions::lockin(N5110 &lcd) {
    while (_BOK->read() == 0) {
        lcd.printString("             ",0,5);
        lcd.refresh();
        wait(0.15);
        lcd.printString("...Press B...",0,5);
        lcd.refresh();
        wait(0.15);
    }
}

void SceneFunctions::flash(N5110 &lcd) {
        for(int i = 0; i < 4; i++)  {
            lcd.drawRect(0,0,84,48,FILL_BLACK);
            lcd.refresh();
            wait(0.15);
            lcd.drawRect(0,0,84,48,FILL_WHITE);
            lcd.refresh();
            wait(0.15);
        };
};

//Unique to Scene Functions
//scene 0 Functions
void SceneFunctions::set_scene0(CaMove &CM) {
    CM.set_region(1, 28, 12, 17); //event 0
    CM.set_region(66, 15, 21, 24);   //event 1
};
//pre funtions
void SceneFunctions::obj0_scene0(N5110 &lcd) {
    lcd.drawRect(32,1,20,2,FILL_BLACK);
};
//pos functions
void SceneFunctions::event0_scene0(N5110 &lcd) {
    this->transition(lcd);
    lcd.clear();
    lcd.printString("Hello My Name",0,0);
    lcd.printString("Veigar I Shall",0,1);
    lcd.printString("Help You Find",0,2);
    lcd.printString("What You Seek",0,3);
    lcd.printString("Now go ... ",0,4);
    lcd.refresh();
    this->lockin(lcd);
    this->transition(lcd);
}

//event 1
void SceneFunctions::event1_scene0(N5110 &lcd) {
    this->transition(lcd);
    lcd.clear();
    lcd.printString("It's a Weird",0,0);
    lcd.printString("quite eerie...",0,1);
    lcd.printString("Statue !!",0,2);
    lcd.refresh();
    this->lockin(lcd);
    this->transition(lcd);
}

//scene1 Funtions
void SceneFunctions::set_scene1(CaMove &CM) {
    CM.set_region(2, 38, 8, 7); //event 0
    CM.set_region(72, 2, 8, 7);   //event 1
};

//pre funtions
void SceneFunctions::obj0_scene1(N5110 &lcd) {
    lcd.drawLine(30,40,31,20,0);
    lcd.drawLine(55,40,55,20,1);
    lcd.drawRect(5,1,20,2,FILL_BLACK);
}

void SceneFunctions::obj1_scene1(N5110 &lcd) {
    lcd.drawRect(32,1,20,2,FILL_BLACK);
}


//pos functions
void SceneFunctions::event0_scene1(N5110 &lcd) {
    lcd.drawRect(74,3,6,3,FILL_WHITE);
    lcd.drawLine(4,39,7,41,1);
    lcd.refresh();
    wait(0.2);
    lcd.drawRect(74,3,6,3,FILL_WHITE);
    lcd.drawLine(9,39,7,41,1);
    lcd.refresh();
    wait(0.2);
}

void SceneFunctions::event1_scene1(N5110 &lcd) {
    lcd.drawRect(74,3,6,3,FILL_WHITE);
    lcd.drawLine(74,3,77,5,1);
    lcd.refresh();
    wait(0.2);
    lcd.drawRect(74,3,6,3,FILL_WHITE);
    lcd.drawLine(79,3,77,5,1);
    lcd.refresh();
    wait(0.2);
}