Zoom for image displaying
Currently when a really large image is created or opened the application will not display the whole image. We need to display the whole image at a reduced zoom level if really large. Also we need a zoom feature implemented.
This zoom feature would be controlled by the mouse wheel.
scroll wheel moved up>>zoom out
scroll wheel moved down>>zoom in
Blueprint information
- Status:
- Complete
- Approver:
- Dylan Coakley
- Priority:
- Essential
- Drafter:
- Dylan Coakley
- Direction:
- Approved
- Assignee:
- Samuel Cowen
- Definition:
- Approved
- Series goal:
- Accepted for trunk
- Implementation:
- Implemented
- Milestone target:
- 0.0.6.0
- Started by
- Samuel Cowen
- Completed by
- Samuel Cowen
Related branches
Related bugs
Sprints
Whiteboard
Currently, Canvas::on_draw() converts the Cairo::ImageSurface to a Magick image. The magick image is resized to the current zoom/scale. The magick image is then converted back to a Cairo::ImageSurface then draw to the screen. This converting back and forth slows down the whole drawing function and could do with improvement in the future.
Note(Dylan):
Overall im happy with the work put into this feature. However one bug exists now with saving files. Here is some output from the terminal but I am still investigating this:
(PhotoFiltre-
unhandled exception (type std::exception) in signal handler:
what: <unknown error status>
Trace/breakpoint trap (core dumped)
Updates (Sam)
-- Saving problem is now fixed
-- Frame class is actually becoming very useful.