mirror of
https://github.com/ultimatepp/ultimatepp.git
synced 2026-05-21 06:45:39 -06:00
ide: Laydes Ctrl+Wheel zooming
This commit is contained in:
parent
e4cc4cf3f5
commit
14af0c7c3f
3 changed files with 17 additions and 2 deletions
|
|
@ -275,6 +275,7 @@ public:
|
|||
virtual void LeftDown(Point p, dword keyflags) override;
|
||||
virtual void LeftRepeat(Point p, dword keyflags) override;
|
||||
virtual void MouseMove(Point p, dword keyflags) override;
|
||||
virtual void MouseWheel(Point p, int zdelta, dword keyflags) override;
|
||||
virtual void LeftUp(Point p, dword keyflags) override;
|
||||
virtual void RightDown(Point p, dword keyflags) override;
|
||||
virtual void Layout() override;
|
||||
|
|
|
|||
|
|
@ -92,6 +92,7 @@ void LayDes::SetSb()
|
|||
double scale = GetScale();
|
||||
sb.SetTotal(scale * sz);
|
||||
sb.SetPage(sb.GetReducedViewSize());
|
||||
sb.SetLine(DPI(8));
|
||||
}
|
||||
|
||||
void LayDes::Scroll()
|
||||
|
|
@ -281,9 +282,21 @@ void LayDes::Paint2(Draw& w)
|
|||
DrawFrame(w, dragrect.Normalized(), LtRed);
|
||||
}
|
||||
|
||||
void LayDes::MouseWheel(Point p, int zdelta, dword keyflags)
|
||||
{
|
||||
if(keyflags & K_CTRL) {
|
||||
Zoom = clamp(Zoom - sgn(zdelta), 0, 15);
|
||||
Refresh();
|
||||
SetBar();
|
||||
SetSb();
|
||||
}
|
||||
else
|
||||
sb.WheelY(zdelta);
|
||||
}
|
||||
|
||||
double LayDes::GetScale()
|
||||
{
|
||||
return decode(Zoom, 1, 0.75, 2, 0.5, 1);
|
||||
return (20 - Zoom) / 20.0;
|
||||
}
|
||||
|
||||
void LayDes::Paint(Draw& w)
|
||||
|
|
@ -299,6 +312,7 @@ void LayDes::Paint(Draw& w)
|
|||
|
||||
if(Zoom) {
|
||||
DrawPainter sw(w, sz);
|
||||
sw.Co();
|
||||
sw.Clear(SColorPaper());
|
||||
sw.Offset(-sb.Get());
|
||||
sw.Offset(MARGIN, MARGIN);
|
||||
|
|
|
|||
|
|
@ -198,7 +198,7 @@ void LayDes::OptionBar(Bar& bar)
|
|||
im.zoom = GetScale();
|
||||
bar.Add("Zoom " + AsString(GetScale() * 100) + "%", MakeImage(im),
|
||||
[=] {
|
||||
Zoom = (Zoom + 1) % 3;
|
||||
Zoom = Zoom < 5 ? 5 : Zoom < 10 ? 10 : 0;
|
||||
Refresh();
|
||||
SetBar();
|
||||
SetSb();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue