mirror of
https://github.com/Ardour/ardour.git
synced 2026-01-29 08:23:01 +01:00
GridLines needs an EditingContext so that it uses the right samples per pixel
This commit is contained in:
parent
852ad9a7da
commit
348bf8b6c2
3 changed files with 12 additions and 9 deletions
|
|
@ -3330,7 +3330,7 @@ EditingContext::maybe_draw_grid_lines (ArdourCanvas::Container* group)
|
|||
}
|
||||
|
||||
if (!grid_lines) {
|
||||
grid_lines = new GridLines (group, ArdourCanvas::LineSet::Vertical);
|
||||
grid_lines = new GridLines (*this, group, ArdourCanvas::LineSet::Vertical);
|
||||
}
|
||||
|
||||
grid_marks.clear();
|
||||
|
|
|
|||
|
|
@ -22,16 +22,17 @@
|
|||
#include "canvas/debug.h"
|
||||
#include "canvas/ruler.h"
|
||||
|
||||
#include "editing_context.h"
|
||||
#include "grid_lines.h"
|
||||
#include "public_editor.h"
|
||||
#include "rgb_macros.h"
|
||||
#include "ui_config.h"
|
||||
|
||||
using namespace std;
|
||||
using namespace ArdourCanvas;
|
||||
|
||||
GridLines::GridLines (Container* group, double)
|
||||
: lines (group, LineSet::Vertical)
|
||||
GridLines::GridLines (EditingContext& ec, Container* group, double)
|
||||
: _editing_context (ec)
|
||||
, lines (group, LineSet::Vertical)
|
||||
{
|
||||
lines.set_extent (COORD_MAX);
|
||||
}
|
||||
|
|
@ -66,11 +67,11 @@ GridLines::draw (std::vector<Ruler::Mark> const & marks)
|
|||
samplepos_t s = m.position;
|
||||
|
||||
if (m.style == ArdourCanvas::Ruler::Mark::Major) {
|
||||
lines.add_coord (PublicEditor::instance().sample_to_pixel (s), 1.0, major_color);
|
||||
lines.add_coord (_editing_context.sample_to_pixel (s), 1.0, major_color);
|
||||
} else if (m.style == ArdourCanvas::Ruler::Mark::Minor) {
|
||||
lines.add_coord (PublicEditor::instance().sample_to_pixel (s), 1.0, minor_color);
|
||||
lines.add_coord (_editing_context.sample_to_pixel (s), 1.0, minor_color);
|
||||
} else {
|
||||
lines.add_coord (PublicEditor::instance().sample_to_pixel (s), 1.0, micro_color);
|
||||
lines.add_coord (_editing_context.sample_to_pixel (s), 1.0, micro_color);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -23,9 +23,11 @@
|
|||
#include "canvas/ruler.h"
|
||||
#include "ardour/tempo.h"
|
||||
|
||||
class EditingContext;
|
||||
|
||||
class GridLines {
|
||||
public:
|
||||
GridLines (ArdourCanvas::Container* group, double screen_height);
|
||||
GridLines (EditingContext&, ArdourCanvas::Container* group, double screen_height);
|
||||
~GridLines ();
|
||||
|
||||
void draw (std::vector<ArdourCanvas::Ruler::Mark> const & marks);
|
||||
|
|
@ -34,7 +36,7 @@ public:
|
|||
void hide();
|
||||
|
||||
private:
|
||||
|
||||
EditingContext& _editing_context;
|
||||
ArdourCanvas::LineSet lines;
|
||||
};
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue