Skip to content

Commit 3c626d2

Browse files
committed
Refactoring
1 parent 86244fb commit 3c626d2

File tree

9 files changed

+34
-54
lines changed

9 files changed

+34
-54
lines changed

bin/toucan-view/ClipItem.cpp

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -59,15 +59,14 @@ namespace toucan
5959
_size.displayScale = event.displayScale;
6060
_size.margin = event.style->getSizeRole(dtk::SizeRole::MarginInside, event.displayScale);
6161
_size.border = event.style->getSizeRole(dtk::SizeRole::Border, event.displayScale);
62-
_size.borderFocus = event.style->getSizeRole(dtk::SizeRole::BorderFocus, event.displayScale);
6362
_size.fontInfo = event.style->getFontRole(dtk::FontRole::Label , event.displayScale);
6463
_size.fontMetrics = event.fontSystem->getMetrics(_size.fontInfo);
6564
_size.textSize = event.fontSystem->getSize(_text, _size.fontInfo);
6665
_draw.glyphs.clear();
6766
}
6867
dtk::Size2I sizeHint(
6968
_timeRange.duration().rescaled_to(1.0).value() * _scale,
70-
_size.textSize.h + _size.margin * 2 + _size.borderFocus * 2);
69+
_size.textSize.h + _size.margin * 2 + _size.border * 2);
7170
_setSizeHint(sizeHint);
7271
}
7372

@@ -87,15 +86,10 @@ namespace toucan
8786
IItem::drawEvent(drawRect, event);
8887
const dtk::Box2I& g = getGeometry();
8988

90-
if (_selected)
91-
{
92-
event.render->drawMesh(
93-
dtk::border(g, _size.borderFocus),
94-
event.style->getColorRole(dtk::ColorRole::Yellow));
95-
}
96-
97-
const dtk::Box2I g2 = dtk::margin(g, -_size.borderFocus);
98-
event.render->drawRect(g2, _color);
89+
const dtk::Box2I g2 = dtk::margin(g, -_size.border, 0, -_size.border, 0);
90+
event.render->drawRect(
91+
g2,
92+
_selected ? event.style->getColorRole(dtk::ColorRole::Yellow) : _color);
9993

10094
const dtk::Box2I g3 = dtk::margin(g2, -_size.margin);
10195
if (!_text.empty() && _draw.glyphs.empty())

bin/toucan-view/ClipItem.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,6 @@ namespace toucan
4545
float displayScale = 0.F;
4646
int margin = 0;
4747
int border = 0;
48-
int borderFocus = 0;
4948
dtk::FontInfo fontInfo;
5049
dtk::FontMetrics fontMetrics;
5150
dtk::Size2I textSize;

bin/toucan-view/GapItem.cpp

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -60,15 +60,14 @@ namespace toucan
6060
_size.displayScale = event.displayScale;
6161
_size.margin = event.style->getSizeRole(dtk::SizeRole::MarginInside, event.displayScale);
6262
_size.border = event.style->getSizeRole(dtk::SizeRole::Border, event.displayScale);
63-
_size.borderFocus = event.style->getSizeRole(dtk::SizeRole::BorderFocus, event.displayScale);
6463
_size.fontInfo = event.style->getFontRole(dtk::FontRole::Label , event.displayScale);
6564
_size.fontMetrics = event.fontSystem->getMetrics(_size.fontInfo);
6665
_size.textSize = event.fontSystem->getSize(_text, _size.fontInfo);
6766
_draw.glyphs.clear();
6867
}
6968
dtk::Size2I sizeHint(
7069
_timeRange.duration().rescaled_to(1.0).value() * _scale,
71-
_size.textSize.h + _size.margin * 2 + _size.borderFocus * 2);
70+
_size.textSize.h + _size.margin * 2 + _size.border * 2);
7271
_setSizeHint(sizeHint);
7372
}
7473

@@ -88,15 +87,10 @@ namespace toucan
8887
IItem::drawEvent(drawRect, event);
8988
const dtk::Box2I& g = getGeometry();
9089

91-
if (_selected)
92-
{
93-
event.render->drawMesh(
94-
dtk::border(g, _size.borderFocus),
95-
event.style->getColorRole(dtk::ColorRole::Yellow));
96-
}
97-
98-
const dtk::Box2I g2 = dtk::margin(g, -_size.borderFocus);
99-
event.render->drawRect(g2, _color);
90+
const dtk::Box2I g2 = dtk::margin(g, -_size.border, 0, -_size.border, 0);
91+
event.render->drawRect(
92+
g2,
93+
_selected ? event.style->getColorRole(dtk::ColorRole::Yellow) : _color);
10094

10195
const dtk::Box2I g3 = dtk::margin(g2, -_size.margin);
10296
if (!_text.empty() && _draw.glyphs.empty())

bin/toucan-view/GapItem.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,6 @@ namespace toucan
4343
float displayScale = 0.F;
4444
int margin = 0;
4545
int border = 0;
46-
int borderFocus = 0;
4746
dtk::FontInfo fontInfo;
4847
dtk::FontMetrics fontMetrics;
4948
dtk::Size2I textSize;

bin/toucan-view/SelectionModel.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,8 @@ namespace toucan
5555
void SelectionModel::selectAll(const OTIO_NS::SerializableObject::Retainer<OTIO_NS::Timeline>& timeline)
5656
{
5757
std::vector<OTIO_NS::SerializableObject::Retainer<OTIO_NS::Item> > items;
58+
//! \bug The stack is not returned by find_children<Item>?
59+
items.push_back(timeline->tracks());
5860
for (auto& item : timeline->find_children<OTIO_NS::Item>())
5961
{
6062
items.push_back(item);

bin/toucan-view/StackItem.cpp

Lines changed: 11 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -55,10 +55,9 @@ namespace toucan
5555
void StackItem::setGeometry(const dtk::Box2I& value)
5656
{
5757
IItem::setGeometry(value);
58-
const dtk::Box2I g = dtk::margin(
59-
value, 0, -_size.borderFocus, 0, -_size.borderFocus);
58+
const dtk::Box2I& g = getGeometry();
6059
dtk::V2I pos = g.min;
61-
pos.y += _size.fontMetrics.lineHeight + _size.margin * 2;
60+
pos.y += _size.fontMetrics.lineHeight + _size.margin * 2 + _size.border * 2;
6261
for (const auto& child : getChildren())
6362
{
6463
const dtk::Size2I& sizeHint = child->getSizeHint();
@@ -77,7 +76,6 @@ namespace toucan
7776
_size.displayScale = event.displayScale;
7877
_size.margin = event.style->getSizeRole(dtk::SizeRole::MarginInside, event.displayScale);
7978
_size.border = event.style->getSizeRole(dtk::SizeRole::Border, event.displayScale);
80-
_size.borderFocus = event.style->getSizeRole(dtk::SizeRole::BorderFocus, event.displayScale);
8179
_size.fontInfo = event.style->getFontRole(dtk::FontRole::Label, event.displayScale);
8280
_size.fontMetrics = event.fontSystem->getMetrics(_size.fontInfo);
8381
_size.textSize = event.fontSystem->getSize(_text, _size.fontInfo);
@@ -92,7 +90,7 @@ namespace toucan
9290
const dtk::Size2I& childSizeHint = child->getSizeHint();
9391
sizeHint.h += childSizeHint.h;
9492
}
95-
sizeHint.h += _size.textSize.h + _size.margin * 2 + _size.borderFocus * 2;
93+
sizeHint.h += _size.textSize.h + _size.margin * 2 + _size.border * 4;
9694
_setSizeHint(sizeHint);
9795
}
9896

@@ -112,15 +110,14 @@ namespace toucan
112110
IItem::drawEvent(drawRect, event);
113111
const dtk::Box2I& g = getGeometry();
114112

115-
if (_selected)
116-
{
117-
event.render->drawMesh(
118-
dtk::border(g, _size.borderFocus),
119-
event.style->getColorRole(dtk::ColorRole::Yellow));
120-
}
121-
122-
const dtk::Box2I g2 = dtk::margin(g, -_size.borderFocus);
123-
event.render->drawRect(g2, _color);
113+
const dtk::Box2I g2(
114+
g.min.x + _size.border,
115+
g.min.y,
116+
g.w() - _size.border * 2,
117+
_size.fontMetrics.lineHeight + _size.margin * 2);
118+
event.render->drawRect(
119+
g2,
120+
_selected ? event.style->getColorRole(dtk::ColorRole::Yellow) : _color);
124121

125122
const dtk::Box2I g3 = dtk::margin(g2, -_size.margin);
126123
if (!_text.empty() && _draw.glyphs.empty())

bin/toucan-view/StackItem.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,6 @@ namespace toucan
4444
float displayScale = 0.F;
4545
int margin = 0;
4646
int border = 0;
47-
int borderFocus = 0;
4847
dtk::FontInfo fontInfo;
4948
dtk::FontMetrics fontMetrics;
5049
dtk::Size2I textSize;

bin/toucan-view/TrackItem.cpp

Lines changed: 11 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -67,10 +67,9 @@ namespace toucan
6767
void TrackItem::setGeometry(const dtk::Box2I& value)
6868
{
6969
IItem::setGeometry(value);
70-
const dtk::Box2I g = dtk::margin(
71-
value, 0, -_size.borderFocus, 0, -_size.borderFocus);
70+
const dtk::Box2I& g = getGeometry();
7271
dtk::V2I pos = g.min;
73-
pos.y += _size.fontMetrics.lineHeight + _size.margin * 2;
72+
pos.y += _size.fontMetrics.lineHeight + _size.margin * 2 + _size.border * 2;
7473
for (const auto& child : getChildren())
7574
{
7675
const dtk::Size2I& sizeHint = child->getSizeHint();
@@ -89,7 +88,6 @@ namespace toucan
8988
_size.displayScale = event.displayScale;
9089
_size.margin = event.style->getSizeRole(dtk::SizeRole::MarginInside, event.displayScale);
9190
_size.border = event.style->getSizeRole(dtk::SizeRole::Border, event.displayScale);
92-
_size.borderFocus = event.style->getSizeRole(dtk::SizeRole::BorderFocus, event.displayScale);
9391
_size.fontInfo = event.style->getFontRole(dtk::FontRole::Label, event.displayScale);
9492
_size.fontMetrics = event.fontSystem->getMetrics(_size.fontInfo);
9593
_size.textSize = event.fontSystem->getSize(_text, _size.fontInfo);
@@ -103,7 +101,7 @@ namespace toucan
103101
const dtk::Size2I& childSizeHint = child->getSizeHint();
104102
sizeHint.h = std::max(sizeHint.h, childSizeHint.h);
105103
}
106-
sizeHint.h += _size.textSize.h + _size.margin * 2 + _size.borderFocus * 2;
104+
sizeHint.h += _size.textSize.h + _size.margin * 2 + _size.border * 4;
107105
_setSizeHint(sizeHint);
108106
}
109107

@@ -123,15 +121,14 @@ namespace toucan
123121
IItem::drawEvent(drawRect, event);
124122
const dtk::Box2I& g = getGeometry();
125123

126-
if (_selected)
127-
{
128-
event.render->drawMesh(
129-
dtk::border(g, _size.borderFocus),
130-
event.style->getColorRole(dtk::ColorRole::Yellow));
131-
}
132-
133-
const dtk::Box2I g2 = dtk::margin(g, -_size.borderFocus);
134-
event.render->drawRect(g2, _color);
124+
const dtk::Box2I g2(
125+
g.min.x + _size.border,
126+
g.min.y,
127+
g.w() - _size.border * 2,
128+
_size.fontMetrics.lineHeight + _size.margin * 2);
129+
event.render->drawRect(
130+
g2,
131+
_selected ? event.style->getColorRole(dtk::ColorRole::Yellow) : _color);
135132

136133
const dtk::Box2I g3 = dtk::margin(g2, -_size.margin);
137134
if (!_text.empty() && _draw.glyphs.empty())

bin/toucan-view/TrackItem.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,6 @@ namespace toucan
4444
float displayScale = 0.F;
4545
int margin = 0;
4646
int border = 0;
47-
int borderFocus = 0;
4847
dtk::FontInfo fontInfo;
4948
dtk::FontMetrics fontMetrics;
5049
dtk::Size2I textSize;

0 commit comments

Comments
 (0)