group_size,
intvert_space)
const 52 typedefvector<TLayoutRow*> TLayoutRows;
53 typedefvector<TLayoutRows> TLayouts;
57TLayoutRows layout_rows;
58layout_rows.reserve(group_size);
61 if(curr_row >= group_size) {
62layouts.push_back(layout_rows);
68layout_rows.push_back(&*iter);
71 if(!layout_rows.empty()) {
72layouts.push_back(layout_rows);
75 if(layouts.size() == 1) {
91group->SetLevel(orig_group.
GetLevel()+1);
94group->SetLayoutPolicy(
const_cast<ILayoutPolicy*
>(
this));
100 for(
auto&
row: *iter) {
101height += vert_space;
102 for(
auto& obj : *
row) {
103group->PushBack(obj);
105max_h =
max(max_h, obj->GetHeight());
106left =
min(left, obj->GetLeft());
107right =
max(right, obj->GetRight());
112group->SetHeight(height);
113group->SetLeft(left);
114group->SetWidth(right - left);
115group->SetConfig(params);
CLayoutGroup is a container of CSeqGlyphs (layout objects).
const TObjectList & GetChildren() const
CLayoutGroup inline methods.
ELinkedFeatDisplay GetLinkedFeat() const
ILayoutPolicy::TObjectList TObjectList
class CRgbaColor provides a simple abstraction for managing colors.
class ILayoutPolicy defines the abstract interface required for generating layout based on a set of g...
virtual void x_SetObjectPos(TLayout &layout, SBoundingBox &bound) const
Set the objects' position (Y), and update the bounding box of the group (of all objects).
vector< TLayoutRow > TLayout
void x_SeparateObjects(CLayoutGroup &group, TLayout &layout, SBoundingBox &bound, size_t group_size, int vert_space) const
Separate objects into multiple sub-groups.
#define NON_CONST_ITERATE(Type, Var, Cont)
Non constant version of ITERATE macro.
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
Useful/utility classes and methods.
T bound(T x_, T xlo_, T xhi_)
#define row(bind, expected)
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4