projects
/
ardour.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Use ::g_rename instead of ::rename in ARDOUR::FileSource class
[ardour.git]
/
libs
/
canvas
/
ruler.cc
diff --git
a/libs/canvas/ruler.cc
b/libs/canvas/ruler.cc
index b88fca4d84e85f5ea08f160f7da27fd0a11a0f0b..1c11def93a8b95a586cef2aa5c11b44ade1adc0b 100644
(file)
--- a/
libs/canvas/ruler.cc
+++ b/
libs/canvas/ruler.cc
@@
-36,7
+36,8
@@
Ruler::Ruler (Canvas* c, const Metric& m)
, _metric (&m)
, _lower (0)
, _upper (0)
, _metric (&m)
, _lower (0)
, _upper (0)
- , _divide_height (-1.0)
+ , _divide_height (-1.0)
+ , _font_description (0)
, _need_marks (true)
{
}
, _need_marks (true)
{
}
@@
-46,7
+47,8
@@
Ruler::Ruler (Canvas* c, const Metric& m, Rect const& r)
, _metric (&m)
, _lower (0)
, _upper (0)
, _metric (&m)
, _lower (0)
, _upper (0)
- , _divide_height (-1.0)
+ , _divide_height (-1.0)
+ , _font_description (0)
, _need_marks (true)
{
}
, _need_marks (true)
{
}
@@
-56,7
+58,8
@@
Ruler::Ruler (Item* parent, const Metric& m)
, _metric (&m)
, _lower (0)
, _upper (0)
, _metric (&m)
, _lower (0)
, _upper (0)
- , _divide_height (-1.0)
+ , _divide_height (-1.0)
+ , _font_description (0)
, _need_marks (true)
{
}
, _need_marks (true)
{
}
@@
-66,7
+69,8
@@
Ruler::Ruler (Item* parent, const Metric& m, Rect const& r)
, _metric (&m)
, _lower (0)
, _upper (0)
, _metric (&m)
, _lower (0)
, _upper (0)
- , _divide_height (-1.0)
+ , _divide_height (-1.0)
+ , _font_description (0)
, _need_marks (true)
{
}
, _need_marks (true)
{
}
@@
-85,6
+89,7
@@
void
Ruler::set_font_description (Pango::FontDescription fd)
{
begin_visual_change ();
Ruler::set_font_description (Pango::FontDescription fd)
{
begin_visual_change ();
+ delete _font_description;
_font_description = new Pango::FontDescription (fd);
end_visual_change ();
}
_font_description = new Pango::FontDescription (fd);
end_visual_change ();
}
@@
-137,7
+142,7
@@
Ruler::render (Rect const & area, Cairo::RefPtr<Cairo::Context> cr) const
cr->stroke ();
/* draw ticks + text */
cr->stroke ();
/* draw ticks + text */
-
+
Glib::RefPtr<Pango::Layout> layout = Pango::Layout::create (cr);
if (_font_description) {
layout->set_font_description (*_font_description);
Glib::RefPtr<Pango::Layout> layout = Pango::Layout::create (cr);
if (_font_description) {
layout->set_font_description (*_font_description);
@@
-155,7
+160,7
@@
Ruler::render (Rect const & area, Cairo::RefPtr<Cairo::Context> cr) const
} else {
cr->move_to (pos.x, pos.y);
}
} else {
cr->move_to (pos.x, pos.y);
}
-
+
switch (m->style) {
case Mark::Major:
if (_divide_height >= 0) {
switch (m->style) {
case Mark::Major:
if (_divide_height >= 0) {
@@
-165,10
+170,10
@@
Ruler::render (Rect const & area, Cairo::RefPtr<Cairo::Context> cr) const
}
break;
case Mark::Minor:
}
break;
case Mark::Minor:
- cr->rel_line_to (0, -height/
4
.0);
+ cr->rel_line_to (0, -height/
3
.0);
break;
case Mark::Micro:
break;
case Mark::Micro:
- cr->rel_line_to (0, -height/
16
.0);
+ cr->rel_line_to (0, -height/
5
.0);
break;
}
cr->stroke ();
break;
}
cr->stroke ();
@@
-180,7
+185,7
@@
Ruler::render (Rect const & area, Cairo::RefPtr<Cairo::Context> cr) const
layout->set_text (m->label);
logical = layout->get_pixel_logical_extents ();
layout->set_text (m->label);
logical = layout->get_pixel_logical_extents ();
-
+
if (_divide_height >= 0) {
cr->move_to (pos.x + 2.0, self.y0 + _divide_height + logical.get_y() + 2.0); /* 2 pixel padding below divider */
} else {
if (_divide_height >= 0) {
cr->move_to (pos.x + 2.0, self.y0 + _divide_height + logical.get_y() + 2.0); /* 2 pixel padding below divider */
} else {
@@
-191,17
+196,17
@@
Ruler::render (Rect const & area, Cairo::RefPtr<Cairo::Context> cr) const
}
if (_divide_height >= 0.0) {
}
if (_divide_height >= 0.0) {
-
+
cr->set_line_width (1.0);
set_source_rgba (cr, _divider_color_top);
cr->set_line_width (1.0);
set_source_rgba (cr, _divider_color_top);
- cr->move_to (self.x0, self.y0 + _divide_height+0.5);
- cr->line_to (self.x1, self.y0 + _divide_height+0.5);
+ cr->move_to (self.x0, self.y0 + _divide_height
-1.0
+0.5);
+ cr->line_to (self.x1, self.y0 + _divide_height
-1.0
+0.5);
cr->stroke ();
set_source_rgba (cr, _divider_color_bottom);
cr->stroke ();
set_source_rgba (cr, _divider_color_bottom);
- cr->move_to (self.x0, self.y0 + _divide_height+
1
.5);
- cr->line_to (self.x1, self.y0 + _divide_height+
1
.5);
+ cr->move_to (self.x0, self.y0 + _divide_height+
0
.5);
+ cr->line_to (self.x1, self.y0 + _divide_height+
0
.5);
cr->stroke ();
cr->stroke ();