callbacks_gui.h 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. #ifndef CALLBACKS_GUI_H
  2. #define CALLBACKS_GUI_H
  3. #include <QString>
  4. #include <qsp_default.h>
  5. #include <QMap>
  6. #include <QMediaPlayer>
  7. #include "mainwindow.h"
  8. typedef QMap<QString, QMediaPlayer*> QSPSounds;
  9. //static QSPString qspStringFromPair(const QSP_CHAR *start, const QSP_CHAR *end)
  10. //{
  11. // QSPString string;
  12. // string.Str = (QSP_CHAR *)start;
  13. // string.End = (QSP_CHAR *)end;
  14. // return string;
  15. //}
  16. //static QSPString qspStringFromLen(const QSP_CHAR *s, int len)
  17. //{
  18. // QSPString string;
  19. // string.Str = (QSP_CHAR *)s;
  20. // string.End = (QSP_CHAR *)s + len;
  21. // return string;
  22. //}
  23. static const QSP_CHAR *qspStringFromQString(const QString &s)
  24. {
  25. //QSPString string;
  26. //string.Str = (QSP_CHAR *)s.utf16();
  27. //string.End = (QSP_CHAR *)s.utf16() + s.length();
  28. return (QSP_CHAR *)s.utf16();
  29. }
  30. class QSPCallBacks
  31. {
  32. public:
  33. // Methods
  34. static void Init(MainWindow *frame);
  35. static void DeInit();
  36. static void SetOverallVolume(float coeff);
  37. static void SetAllowHTML5Extras(bool HTML5Extras);
  38. // CallBacks
  39. static void RefreshInt(QSP_BOOL isRedraw);
  40. static void SetTimer(int msecs);
  41. static void SetInputStrText(const QSP_CHAR *text);
  42. static QSP_BOOL IsPlay(const QSP_CHAR *file);
  43. static void CloseFile(const QSP_CHAR *file);
  44. static void PlayFile(const QSP_CHAR *file, int volume);
  45. static void ShowPane(int type, QSP_BOOL isShow);
  46. static void Sleep(int msecs);
  47. static int GetMSCount();
  48. static void Msg(const QSP_CHAR *str);
  49. static void DeleteMenu();
  50. static void AddMenuItem(const QSP_CHAR *name, const QSP_CHAR *imgPath);
  51. static int ShowMenu();
  52. static void Input(const QSP_CHAR *text, QSP_CHAR *buffer, int maxLen);
  53. static void ShowImage(const QSP_CHAR *file);
  54. //static void OpenGame(const QSP_CHAR *file, QSP_BOOL isNewGame);
  55. static void OpenGameStatus(const QSP_CHAR *file);
  56. static void SaveGameStatus(const QSP_CHAR *file);
  57. static QString m_gamePath;
  58. private:
  59. // Internal methods
  60. static void UpdateGamePath();
  61. static bool SetVolume(const QSP_CHAR *file, int volume);
  62. static void UpdateSounds();
  63. // Fields
  64. static MainWindow *m_frame;
  65. static bool m_isHtml;
  66. static QSPSounds m_sounds;
  67. static float m_volumeCoeff;
  68. static bool m_isAllowHTML5Extras;
  69. };
  70. #endif