ELEC2645 (2019/20) / Mbed 2 deprecated ELEC2645_Project_el19tb

Dependencies:   mbed

GraphicEngine/GraphicEngine.h

Committer:
el19tb
Date:
2020-05-18
Revision:
43:2cd1cfe07770
Parent:
42:04e326dcf09b
Child:
44:f02510eeb165

File content as of revision 43:2cd1cfe07770:

#ifndef GRAPHICENGINE_H
#define GRAPHICENGINE_H

#include "Frog.h"
#include "Object.h"
#include "Vehicle.h"
#include "WaterSprites.h"

#include "mbed.h"
#include "N5110.h"
#include "Gamepad.h"
#include <vector>

class GraphicEngine 
{
    public:
        typedef struct 
        {
            float x;
            int y;
        } ObjectParam;
        
    public:
        Frog *frog;
        
        GraphicEngine();
        GraphicEngine(Frog *frogptr);
    public:
        
        N5110 lcd;

    public:     
        
        //initialize the LCD
        void init();  

        // clear lcd screen      
        void clear();
        
        // refresh to the next state
        void refresh();
        
        // set contrast
        void contrast();
        
        // turn on backlight of lcd
        void backLightOn();


        void printTest();
        void printLoser();
        void print();

        
        void drawGoalPost();

        //draws the chicken to the LCD screen
        void showFrog(float x, int y, int width, int height);
    
        void drawGoal(int x, int row);
        
        //draws an individual car to the screen
        void showObj(Object &obj);

        void displayLog(int x, int y, char c);
        void displayVehicle(int x, int y, char c);

        void drawSafetyLanes();

};

#endif