~s-cecilio/lomse/master

« back to all changes in this revision

Viewing changes to include/lomse_box_slice.h

  • Committer: cecilios
  • Date: 2010-11-14 17:47:31 UTC
  • Revision ID: git-v1:1fa3764c8c4d338b95b1a537b1e78271170c0025
latest new code. demo_1 tested on linux and win32

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
//---------------------------------------------------------------------------------------
 
2
//  This file is part of the Lomse library.
 
3
//  Copyright (c) 2010 Lomse project
 
4
//
 
5
//  Lomse is free software; you can redistribute it and/or modify it under the
 
6
//  terms of the GNU General Public License as published by the Free Software Foundation,
 
7
//  either version 3 of the License, or (at your option) any later version.
 
8
//
 
9
//  Lomse is distributed in the hope that it will be useful, but WITHOUT ANY
 
10
//  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
 
11
//  PARTICULAR PURPOSE.  See the GNU General Public License for more details.
 
12
//
 
13
//  You should have received a copy of the GNU General Public License along
 
14
//  with Lomse; if not, see <http://www.gnu.org/licenses/>.
 
15
//  
 
16
//  For any comment, suggestion or feature request, please contact the manager of
 
17
//  the project at cecilios@users.sourceforge.net
 
18
//
 
19
//--------------------------------------------------------------------------------------
 
20
 
 
21
#ifndef __LOMSE_BOX_SLICE_H__        //to avoid nested includes
 
22
#define __LOMSE_BOX_SLICE_H__
 
23
 
 
24
#include "lomse_basic.h"
 
25
#include "lomse_gm_basic.h"
 
26
//#include <sstream>
 
27
//
 
28
//using namespace std;
 
29
 
 
30
namespace lomse
 
31
{
 
32
 
 
33
//forward declarations
 
34
class GmoBoxSystem;
 
35
class GmoBoxSliceInstr;
 
36
class ImoInstrument;
 
37
//class lmTimeGridTable;
 
38
 
 
39
 
 
40
//---------------------------------------------------------------------------------------
 
41
// GmoBoxSlice: a system column
 
42
class GmoBoxSlice : public GmoBox
 
43
{
 
44
protected:
 
45
    GmoBoxSystem* m_pBoxSystem;     //parent system box
 
46
//    int             m_nAbsMeasure;            //number of this measure (absolute, 1..n)
 
47
//      int                             m_nNumInSystem;         //number of slice for this system (0..n-1)
 
48
//
 
49
//    //start and end positions
 
50
//    LUnits    m_xStart;
 
51
//    LUnits    m_xEnd;
 
52
//
 
53
//    lmTimeGridTable*            m_pGridTable;
 
54
 
 
55
public:
 
56
    GmoBoxSlice(GmoBoxSystem* pParent, int nAbsMeasure);    //, int nNumInSystem,
 
57
                            //LUnits xStart=0, LUnits xEnd=0);
 
58
    ~GmoBoxSlice();
 
59
 
 
60
//    inline void UpdateSize(LUnits xStart, LUnits xEnd) {
 
61
//            m_xStart = xStart;
 
62
//            m_xEnd = xEnd;
 
63
//        }
 
64
//
 
65
//      //render
 
66
//      void DrawSelRectangle(lmPaper* pPaper);
 
67
//
 
68
//    //info
 
69
//    inline int GetNumMeasure() const { return m_nAbsMeasure; }
 
70
//
 
71
        //instrument slices
 
72
    GmoBoxSliceInstr* add_box_for_instrument(ImoInstrument* pInstr);
 
73
//      GmoBoxSliceInstr* GetSliceInstr(int i) const { return (GmoBoxSliceInstr*)m_Boxes[i]; }
 
74
//
 
75
//    //implementation of virtual methods from base class
 
76
//      int GetPageNumber() const;
 
77
//
 
78
//      //owners and related
 
79
//      GmoBoxSystem* GetOwnerSystem() { return m_pBoxSystem; }
 
80
//    GmoBoxScore* GetOwnerBoxScore();
 
81
//    GmoBoxPage* GetOwnerBoxPage();
 
82
//
 
83
//    //overrides
 
84
//    void SetBottomSpace(LUnits uyValue);
 
85
//
 
86
//    //grid table: xPositions/timepos
 
87
//    inline void SetTimeGridTable(lmTimeGridTable* pGridTable) { m_pGridTable = pGridTable; }
 
88
//    float GetGridTimeForPosition(LUnits uxPos);
 
89
//    void DrawTimeLines(lmPaper* pPaper, wxColour color, LUnits uyTop,
 
90
//                       LUnits uyBottom);
 
91
 
 
92
};
 
93
 
 
94
 
 
95
}   //namespace lomse
 
96
 
 
97
#endif    // __LOMSE_BOX_SLICE_H__