add process of dockpane's splitbar
This commit is contained in:
parent
651d0f72dd
commit
b453529366
@ -1776,6 +1776,8 @@ namespace nana
|
||||
|
||||
basepos = this->pos();
|
||||
base_pos_.y = (_m_is_vert(dir_) ? basepos.y : basepos.x);
|
||||
|
||||
base_px_ = (_m_is_vert(dir_) ? pane_dv_->field_area.height : pane_dv_->field_area.width);
|
||||
});
|
||||
|
||||
this->events().mouse_up([this]
|
||||
@ -1803,7 +1805,7 @@ namespace nana
|
||||
now_pos.x = new_pos;
|
||||
this->move(now_pos);
|
||||
|
||||
auto & px = (_m_is_vert(dir_) ? pane_dv_->field_area.height : pane_dv_->field_area.width);
|
||||
auto px = base_px_;
|
||||
switch (dir_)
|
||||
{
|
||||
case ::nana::direction::west:
|
||||
@ -1824,7 +1826,7 @@ namespace nana
|
||||
|
||||
auto dock_px = (_m_is_vert(dir_) ? dock_dv_->field_area.height : dock_dv_->field_area.width);
|
||||
|
||||
pane_dv_->weight.assign_percent(px / dock_px * 100);
|
||||
pane_dv_->weight.assign_percent(double(px) / double(dock_px) * 100);
|
||||
|
||||
dock_dv_->collocate(wd);
|
||||
});
|
||||
@ -1841,6 +1843,7 @@ namespace nana
|
||||
division* const pane_dv_;
|
||||
::nana::point range_;
|
||||
::nana::point base_pos_; //x = mouse pos, y = splitter pos
|
||||
unsigned base_px_; //weight of div_dockpane when mouse button is been pressing;
|
||||
|
||||
};
|
||||
public:
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user