79 |
cycrow |
1 |
//************************************************************************
|
|
|
2 |
//
|
|
|
3 |
// LCDScrollingText.h
|
|
|
4 |
//
|
|
|
5 |
// The CLCDScrollingText class draws scrolling text onto the LCD.
|
|
|
6 |
//
|
|
|
7 |
// Logitech LCD SDK
|
|
|
8 |
//
|
|
|
9 |
// Copyright 2005 Logitech Inc.
|
|
|
10 |
//************************************************************************
|
|
|
11 |
|
|
|
12 |
#ifndef _LCDSCROLLINGTEXT_H_INCLUDED_
|
|
|
13 |
#define _LCDSCROLLINGTEXT_H_INCLUDED_
|
|
|
14 |
|
|
|
15 |
#include "LCDBase.h"
|
|
|
16 |
#include "LCDText.h"
|
|
|
17 |
|
|
|
18 |
class CLCDScrollingText : public CLCDText
|
|
|
19 |
{
|
|
|
20 |
public:
|
|
|
21 |
CLCDScrollingText();
|
|
|
22 |
virtual ~CLCDScrollingText();
|
|
|
23 |
|
|
|
24 |
// CLCDBase
|
|
|
25 |
virtual HRESULT Initialize(void);
|
|
|
26 |
virtual void ResetUpdate(void);
|
|
|
27 |
|
|
|
28 |
// CLCDText
|
|
|
29 |
virtual void SetText(LPCTSTR szText);
|
|
|
30 |
|
|
|
31 |
void SetStartDelay(DWORD dwMilliseconds);
|
|
|
32 |
void SetEndDelay(DWORD dwMilliseconds);
|
|
|
33 |
void EnableRepeat(BOOL bEnable);
|
|
|
34 |
void SetSpeed(DWORD dwSpeed);
|
|
|
35 |
|
|
|
36 |
enum eSCROLL_DIR { SCROLL_HORZ, SCROLL_VERT};
|
|
|
37 |
void SetScrollDirection(eSCROLL_DIR eScrollDir);
|
|
|
38 |
eSCROLL_DIR GetScrollDirection();
|
|
|
39 |
BOOL IsScrollingDone();
|
|
|
40 |
|
|
|
41 |
protected:
|
|
|
42 |
virtual void OnUpdate(DWORD dwTimestamp);
|
|
|
43 |
virtual void OnDraw(CLCDGfx &rGfx);
|
|
|
44 |
|
|
|
45 |
private:
|
|
|
46 |
enum eSCROLL_STATES { STATE_START_DELAY, STATE_SCROLL, STATE_END_DELAY, STATE_DONE};
|
|
|
47 |
|
|
|
48 |
DWORD m_dwEllapsedTime; // ellapsed time in state
|
|
|
49 |
DWORD m_dwStartDelay; // milliseconds
|
|
|
50 |
DWORD m_dwEndDelay; // milliseconds
|
|
|
51 |
DWORD m_dwSpeed; // pixels/second
|
|
|
52 |
DWORD m_dwLastUpdate; // milliseconds
|
|
|
53 |
BOOL m_bRepeat; // repeat
|
|
|
54 |
|
|
|
55 |
int m_nScrollingDistance;
|
|
|
56 |
float m_fTotalDistance;
|
|
|
57 |
|
|
|
58 |
eSCROLL_DIR m_eScrollDir;
|
|
|
59 |
eSCROLL_STATES m_eState;
|
|
|
60 |
};
|
|
|
61 |
|
|
|
62 |
|
|
|
63 |
#endif // !_LCDSCROLLINGTEXT_H_INCLUDED_
|
|
|
64 |
|
|
|
65 |
//** end of LCDScrollingText.h *******************************************
|