Zoom for image displaying

Registered by Dylan Coakley

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:
milestone icon 0.0.6.0
Started by
Samuel Cowen
Completed by
Samuel Cowen

Related branches

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-LX:2614): glibmm-ERROR **:
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.

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.