Subversion Repositories spk

Rev

Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

// LcdCustomScreen.h: interface for the CLcdCustomScreen class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_LCDCUSTOMSCREEN_H__163A2AEC_D603_4C3F_AD7F_E0C7E9A2696E__INCLUDED_)
#define AFX_LCDCUSTOMSCREEN_H__163A2AEC_D603_4C3F_AD7F_E0C7E9A2696E__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include <CyString.h>
#include <StringList.h>

#include "EZ_LCD.h"

typedef struct SText {
        struct SText *pNext;
        HANDLE hObject;
        CyString sText;
} SText;

typedef struct SMoveObject {
        struct SMoveObject *pNext;
        HANDLE  hObject;
        int             iStartX;
        int             iStartY;
        int             iEndX;
        int             iEndY;
        int             iTotalTime;
        int             iTimeRemaining;
        bool    bRepeat;
} SMoveObject;

class CLcdCustomScreen  
{
public:
        void AddMoveObject ( SMoveObject * );
        void AddText ( SText * );
        bool LoadScript ( CyString, CyString, const char *filename );
        void Reset ();
        bool Display ();

        CyString ParseFilename(CyString &filename, CyString &dir);

        void SetVarible ( CyString v, int pos );

        CLcdCustomScreen( CEzLcd * );
        virtual ~CLcdCustomScreen();

private:
        void IncreaseArraySize ();

        int m_iCycles;
        int     m_iArraySize;
        HANDLE *m_pHandles;

        bool m_bDebug;

        CyStringList m_lDebugLog;
        CyStringList m_lVaribles;

        CEzLcd *m_pLcd;

        int m_iStartPage;

        SMoveObject *m_pMoveObject, *m_pEndMoveObject;
        SText *m_pText, *m_pEndText;

        HINSTANCE m_hInstance;
        HANDLE m_hDebug[5];

        CyString m_sProgDir;
        CyString m_sGameDir;
        CyString m_sScriptDir;
};

#endif // !defined(AFX_LCDCUSTOMSCREEN_H__163A2AEC_D603_4C3F_AD7F_E0C7E9A2696E__INCLUDED_)