IdwThread.h
author sl
Sun, 16 Mar 2014 09:11:39 +0100
changeset 0 523a7dc3469f
child 1 d9a866996670
permissions -rw-r--r--
First contribution.
sl@0
     1
//------------------------------------------------------------------------------
sl@0
     2
#ifndef IDWTHREAD_H_INCLUDED
sl@0
     3
#define IDWTHREAD_H_INCLUDED
sl@0
     4
//------------------------------------------------------------------------------
sl@0
     5
#include <windows.h>
sl@0
     6
#include "Thread.h"
sl@0
     7
#include "Event.h"
sl@0
     8
#include "Mutex.h"
sl@0
     9
#include "iMONDisplayDefines.h"
sl@0
    10
#include "iMONDisplayWrapper.h"
sl@0
    11
//------------------------------------------------------------------------------
sl@0
    12
class IdwThread : public Thread
sl@0
    13
{
sl@0
    14
public:
sl@0
    15
  IdwThread(HINSTANCE hInstance);
sl@0
    16
  virtual ~IdwThread();
sl@0
    17
sl@0
    18
private:
sl@0
    19
  IdwThread(const IdwThread& other) {}
sl@0
    20
  IdwThread& operator=(const IdwThread& other) { return *this; }
sl@0
    21
sl@0
    22
public:
sl@0
    23
  virtual void Interrupt();
sl@0
    24
  DSPResult Init(IDW_INITRESULT* pInitResult);
sl@0
    25
  DSPResult Uninit();
sl@0
    26
  DSPResult IsInited();
sl@0
    27
  DSPResult IsPluginModeEnabled();
sl@0
    28
  DSPResult SetVfdText(LPCWSTR lpszLine1, LPCWSTR lpszLine2);
sl@0
    29
  DSPResult SetVfdEqData(PDSPEQDATA pEqData);
sl@0
    30
  DSPResult SetLcdText(LPCWSTR lpszText);
sl@0
    31
  DSPResult SetLcdEqData(PDSPEQDATA pEqDataL, PDSPEQDATA pEqDataR);
sl@0
    32
  DSPResult SetLcdAllIcons(BOOL bOn);
sl@0
    33
  DSPResult SetLcdOrangeIcon(BYTE btIconData1, BYTE btIconData2);
sl@0
    34
  DSPResult SetLcdMediaTypeIcon(BYTE btIconData);
sl@0
    35
  DSPResult SetLcdSpeakerIcon(BYTE btIconData1, BYTE btIconData2);
sl@0
    36
  DSPResult SetLcdVideoCodecIcon(BYTE btIconData);
sl@0
    37
  DSPResult SetLcdAudioCodecIcon(BYTE btIconData);
sl@0
    38
  DSPResult SetLcdAspectRatioIcon(BYTE btIconData);
sl@0
    39
  DSPResult SetLcdEtcIcon(BYTE btIconData);
sl@0
    40
  DSPResult SetLcdProgress(int nCurPos, int nTotal);
sl@0
    41
sl@0
    42
protected:
sl@0
    43
  virtual void Run();
sl@0
    44
sl@0
    45
private:
sl@0
    46
  bool RegisterClass();
sl@0
    47
  bool CreateMessageWindow();
sl@0
    48
  void AllowImonMessages();
sl@0
    49
  bool WaitForWindow();
sl@0
    50
  static LRESULT CALLBACK WndProc(
sl@0
    51
    HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
sl@0
    52
  static void MapChars(
sl@0
    53
    LPWSTR lpszTarget, LPCWSTR lpszSource, int nMaxLength);
sl@0
    54
  static wchar_t MapChar(wchar_t ch);
sl@0
    55
sl@0
    56
private:
sl@0
    57
  HINSTANCE m_hInstance;
sl@0
    58
  HWND m_hWnd;
sl@0
    59
  Event m_eventWindowCreationDone;
sl@0
    60
};
sl@0
    61
//------------------------------------------------------------------------------
sl@0
    62
#endif
sl@0
    63
//------------------------------------------------------------------------------