-
Notifications
You must be signed in to change notification settings - Fork 344
/
wintimeline.hpp
78 lines (66 loc) · 1.81 KB
/
wintimeline.hpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
// This file is distributed under a BSD license. See LICENSE.txt for details.
#pragma once
#include "werkkzeug.hpp"
/****************************************************************************/
/****************************************************************************/
class WinTimeline : public sGuiWindow
{
sInt BeatZoom; // pixel = (Beat * BeatZoom)>>32
sInt BeatQuant; // 0x10000 = quant to beat
sInt DragStartX,DragStartY,DragStartZ;
sInt DragMoveX,DragMoveY,DragMoveZ;
sRect DragFrame;
sInt DragKey;
sInt DragMode;
sInt Level;
sInt LastLine;
sInt LastTime;
sList<WerkEvent> *Clipboard;
void MoveSelected(sInt dx,sInt dy,sInt dragmode);
public:
WerkkzeugApp *App;
WerkEvent *Current;
WinTimeline();
~WinTimeline();
void Tag();
sBool MakeRect(WerkEvent *top,sRect &r);
sBool MakeRectMove(WerkEvent *top,sRect &r);
void ClipCut();
void ClipDeselect();
void ClipCopy();
void ClipPaste();
void ClipDelete();
void Quant();
void MarkTime();
void OnPaint();
void OnKey(sU32 key);
void OnDrag(sDragData &dd);
sBool OnCommand(sU32 cmd);
void OnCalcSize();
void EditEvent(WerkEvent *we);
};
/****************************************************************************/
class WinEvent : public sDummyFrame
{
sInt Line;
WerkPage *CurrentPage;
sInt StartCourse;
sInt StartFine;
sInt LengthCourse;
sInt LengthFine;
public:
class WerkkzeugApp *App;
WinEvent();
void Reset();
void Tag();
sGridFrame *Grid;
WerkEvent *Event;
void EventToControl();
void ControlToEvent();
void SetEvent(WerkEvent *e);
sBool OnCommand(sU32 cmd);
void Label(sChar *label);
void Space() {Line++;}
void AddBox(sU32 cmd,sInt pos,sInt offset,sChar *name);
};
/****************************************************************************/