mirror of
https://github.com/ultimatepp/ultimatepp.git
synced 2026-07-11 22:03:01 -06:00
IconDes: fixed divide by zero issue
git-svn-id: svn://ultimatepp.org/upp/trunk@11936 f0d560ea-af0d-0410-9eb7-867de7ffcac7
This commit is contained in:
parent
444648324f
commit
6c7efb2a80
3 changed files with 7 additions and 4 deletions
|
|
@ -44,12 +44,12 @@ void IconDes::SetMagnify(int mag)
|
|||
|
||||
void IconDes::ZoomIn()
|
||||
{
|
||||
SetMagnify(magnify+2);
|
||||
SetMagnify(max(magnify, 1) + 2);
|
||||
}
|
||||
|
||||
void IconDes::ZoomOut()
|
||||
{
|
||||
SetMagnify(magnify-2);
|
||||
SetMagnify(max(magnify, 1) - 2);
|
||||
}
|
||||
|
||||
void IconDes::DoPaste()
|
||||
|
|
|
|||
|
|
@ -52,14 +52,16 @@ void IconDes::SyncShow()
|
|||
|
||||
void IconDes::SetSb()
|
||||
{
|
||||
magnify = max(magnify, 1);
|
||||
if(IsCurrent()) {
|
||||
sb.SetTotal(GetImageSize());
|
||||
sb.SetPage(GetSize() / max(magnify, 1));
|
||||
sb.SetPage(GetSize() / magnify);
|
||||
}
|
||||
}
|
||||
|
||||
void IconDes::Scroll()
|
||||
{
|
||||
magnify = max(magnify, 1);
|
||||
scroller.Scroll(*this, GetSize(), sb, Size(magnify, magnify));
|
||||
}
|
||||
|
||||
|
|
@ -101,7 +103,7 @@ void IconDes::SetCurrentImage(ImageBuffer& ib)
|
|||
|
||||
Point IconDes::GetPos(Point p)
|
||||
{
|
||||
return p / magnify + sb;
|
||||
return p / max(magnify, 1) + sb;
|
||||
}
|
||||
|
||||
void IconDes::FinishPaste()
|
||||
|
|
|
|||
|
|
@ -53,6 +53,7 @@ void IconDes::Paint(Draw& w)
|
|||
scroller.Set(spos);
|
||||
Size isz = image.GetSize();
|
||||
bool pastepaint = HasCapture() && IsPasting();
|
||||
magnify = max(magnify, 1);
|
||||
if(magnify == 1) {
|
||||
w.DrawRect(sz, SColorPaper());
|
||||
ImageBuffer pb(isz);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue