History log of /haiku/src/apps/showimage/ShowImageView.h
Revision Date Author Comments
# 20e18366 25-Aug-2023 Augustin Cavalier <waddlesplash@gmail.com>

ShowImage: Use layouts for the main view area.

The main window itself is still not using them,
due to incompatibilities with the toolbar animation.

Fixes #18547.


# 554e2073 28-Apr-2014 Adrien Destugues <pulkomandy@pulkomandy.tk>

ShowImage: add feature to force original size.

* This is enabled by shift+click on the Original Size toolbar button.
* The button stays pressed as long as the feature is enabled. Clicking
it again disables it.
* When this is enabled, all images will be shown at original size,
instead of being scaled up or down to fit the window.
* This is not persistent, and only affects the current session/window.


# fa392c2a 05-Mar-2013 Ryan Leavengood <leavengood@gmail.com>

Remove unused ShowImage Undo code.


# 03352b04 30-Nov-2012 Janus <janus2@ymail.com>

Fix #7736. Avoid memory corruption

Signed-off-by: Axel Dörfler <axeld@pinc-software.de>


# 537a273c 24-Jun-2012 Humdinger <humdingerb@gmail.com>

Coding style changes, no functional change.
Hope all's OK, Filter.h is still mostly untouched as it's quite messy with
many exessive commenting.


# 281ad93c 24-Jun-2011 Ryan Leavengood <leavengood@gmail.com>

Make the zoom "sticky" at 1.0 for about half a second when zooming with the mousewheel.

It might be a bit annoying, not sure yet.

Implements #7253.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42311 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 7c4be36f 17-Jun-2011 Ryan Leavengood <leavengood@gmail.com>

Use grabbing cursor when moving image with the mouse.

Fixes #7592.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42232 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 94fd9498 08-Apr-2011 Stephan Aßmus <superstippi@gmx.de>

* The window uses layout management in principle. This was necessary
to get the main menu bar to report the correct minimum size. My
previous commit with regards to setting the correct minimum window
size introduced a regression that the window could not shrink below
it's initial size because of some backwards compatibility behavior
of BMenuBar (IIRC).
* Inserted a content view to hold the tool bar and the show image
views. This one does not use layout management, so that everything
pretty much works as before.
* Showing/Hiding the tool bar is now animated.
* When the tool bar is enabled in principle, it will automatically
show in full screen mode when the user moves the mouse. When the
mouse is not above the tool bar, it is hidden after a delay.
* Added a right-aligned "Leave full screen" icon to the tool bar.
* Improved the workings of the slide show icon. As before, it automatically
triggers full screen mode. It is now pressed when the slide show is
running. Clicking it again just stops the slide show without affecting
the full screen mode (i.e. also not when the user left full screen mode
meanwhile).

There are some problems with images not being automatically sized to
the full screen size as would be expected. This needs to be fixed, yet.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41202 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 4aa63633 09-Jan-2011 Axel Dörfler <axeld@pinc-software.de>

* Removed the slide show code from ShowImageView, and reimplemented them in
ShowImageWindow using a BMessageRunner.
* Note, this is completely untested, as it turns out my Haiku installation on
this box is too old to run it. It compiles, at least, and shouldn't break
anything else.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40178 a95241bf-73f2-0310-859d-f6bbb57e9c96


# e2069723 14-Nov-2010 Axel Dörfler <axeld@pinc-software.de>

* Removed the "shrink to window" option. Instead, there is now a "Fit to window"
menu item that just does that. Additionally, the image is always fit to the
window size when first shown, or if the full screen mode switches.
That also fixes #6765, and #6810.
* The ImageCache now also passes a referenced BitmapOwner object, and bitmaps
are now actually freed when it's allowed to.
* Pressing the zoom button will cause ShowImage to enter full screen again. For
some reason this has been removed as part of r19540.
* The progress window is now visible again, although not that often, as you will
only see it for images that were not in the queue already. The window is now
known to the ShowImageWindow instead of the ShowImageView.
* Moved most constants out of ShowImageConstants.h to where they belong.
* Dropping an image now opens it in another window.
* Removed EntryMenuItem as it's no longer used anywhere.
* Minor other cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39431 a95241bf-73f2-0310-859d-f6bbb57e9c96


# ba3217ee 03-Nov-2010 Axel Dörfler <axeld@pinc-software.de>

* Moved the Tracker navigation logic into its own class, TrackerNavigation.
* Added a new class FolderNavigation that implements the same for folders
without a Tracker window.
* ImageFileNavigator is now using either one depending on whether it got a
valid tracker messenger.
* Removed some unused/unneeded methods.
* Made entry_ref a reference at some more methods, as it's not really optional.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39292 a95241bf-73f2-0310-859d-f6bbb57e9c96


# cd6b5cde 01-Nov-2010 Axel Dörfler <axeld@pinc-software.de>

* Completed stippi's work on the ImageFileNavigator.
* ShowImageWindow is now using such a navigator.
* Removed navigation support from ShowImageView.
* Prepared everything to support asynchronous image loading (which is not yet
implemented, though).
* Note, this commit brings some regressions I intend to fix in the next few
days, namely deleting files won't work anymore, and dropping images onto
ShowImage. There might be more I don't know about, though :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39259 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 6db01936 24-Oct-2010 Axel Dörfler <axeld@pinc-software.de>

* Added a selection mode that can currently only be enabled via the menu
(should be part of an optional tool bar in the future). Now the primary, and
the tertiary mouse button pan the image. You still get the selection when
using alt or ctrl and the primary mouse button, even outside of the selection
mode. In selection mode, the primary button changes the selection.
* Renamed {Shrink|Stretch}ToBounds() to comply to our coding style, thanks Ingo.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39132 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 4fd570d3 24-Oct-2010 Axel Dörfler <axeld@pinc-software.de>

* Fixed another pet peeve of mine: you can now always zoom, no matter if you
have enabled the shrink/stretch option.
* Renamed "zoom to window" to "stretch to window".
* Readded the shrink/stretch options to the full screen context menu only.
* Renamed GetShrinkToBounds() to ShrinkToBounds() as it's a simple getter.
* Changed how and when the shrink/stretch options come into play. Shrinking is
now only set once, when the image is first shown.
* Added snapping in ZoomIn(), and ZoomOut(): they will now always choose 1.0,
and the "fit to window" zoom level when they are close.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39129 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 32c22143 23-Oct-2010 Axel Dörfler <axeld@pinc-software.de>

* The shrink/zoom to window options aren't available anymore from the context
menu. I plan to allow zooming always, so they won't be needed that often
anymore.
* Removed all selection copy/move/cut code. This just doesn't belong into an
image viewer.
* Selections are now changed using the tertiary mouse button, or when you press
the command or control modifiers. Instead, the image will now be moved around
with the left button.
* If you drop an image file to ShowImage, it will now open it instead of pasting
it as selection.
* Reworked the scrolling/selection code to never poll, and never use GetMouse().
Instead properly use the asynchronous API (ie. B_NO_POINTER_HISTORY).
* I plan to remove the scaling code as well: the results aren't as good as they
could be (bilinear scaling isn't the solution for everything), and the
interface is pretty awkward, anyway. IMO, this kind of functionality should
be left to apps that are actually thought for image editing. Another solution
would be a Tracker add-on that resizes (multiple) images.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39105 a95241bf-73f2-0310-859d-f6bbb57e9c96


# d164619e 23-Oct-2010 Axel Dörfler <axeld@pinc-software.de>

* Removed the delayed scaler code - it's no longer needed (and was trying rather
stupid things like creating a 50000x40000 pixel bitmap if you zoomed in).
* Removed dithering in CMAP8 mode. Please use 32 bit mode instead :-)
* Cleaned up ShowImageWindow.h.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39098 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 1076d97b 23-Oct-2010 Axel Dörfler <axeld@pinc-software.de>

* Removed the ability to invert an image. If you really need that feature,
you'll now have to open an image editing application instead.
* Removed the black border around the image.
* Removed the B_PANEL_BACKGROUND_COLOR background in non-full screen mode - it's
now always black.
* Made zoom level changes exponential.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39095 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 6046b973 23-Oct-2010 Axel Dörfler <axeld@pinc-software.de>

* Implemented zooming to the current mouse position. Thanks to stippi for the
invalidate trick to prevent the app_server to scroll.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39079 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 62776696 18-Jun-2010 Stephan Aßmus <superstippi@gmx.de>

Removed one liner function that was only called from one place.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37166 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 0df61fa3 17-Jun-2010 Stephan Aßmus <superstippi@gmx.de>

* Moved selection box handling into a separate class SelectionBox. Mouse hooks
of that class are not yet used. Invalidation of the view could also work
via listener mechanism.
* Made image <-> view conversion and constraint methods public.
* Sorted .cpp files in Jamfile alphabetically.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37164 a95241bf-73f2-0310-859d-f6bbb57e9c96


# a7b525d7 16-Jun-2010 Stephan Aßmus <superstippi@gmx.de>

Previously misunderstood what fMovesBitmap means, renamed _MoveBitmap() also
so these two match up again and refer scrolling.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37160 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 4fa7e62e 16-Jun-2010 Stephan Aßmus <superstippi@gmx.de>

* Coding style cleanup
* Some cleanup in member sorting
* Some renaming of members for improved clarity
* Removed _HasSelection() and use fHasSelection directly


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37159 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 5ab8434c 12-Jun-2010 Stephan Aßmus <superstippi@gmx.de>

* Fixed storage of image data in the system clipboard. According to the
comments in the code, different programs do it differently. However, I
believe we should follow the BeBook documentation. This is the method which
WonderBrush uses as well, and that one had been tested with other apps like
Refraction. Potentially, copy&paste could work across GoBe Productive now
also, but I didn't test.
* Handle the case where the selection bitmap that gets restored from the
clipboard has a bounds rectangle with an offset. Use this offset as an
alternative to the "be:location" hack.
* Fix the drag bitmap to be semi-transparent on Haiku. B_OP_SELECT does not
affect the alpha channel on Haiku like it apparently did on BeOS, though
I am not inclined to change that behavior.
* Fixed some coding style violations, but tried to mix as little cleanup as
possible.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37118 a95241bf-73f2-0310-859d-f6bbb57e9c96


# d0a2818e 10-Jun-2010 Stephan Aßmus <superstippi@gmx.de>

* Do not use the Scaler anymore for asynchronous bilinear filtering, but pass
B_FILTER_BITMAP_BILINEAR to DrawBitmap(). There is virtually no delay at all.
* Some cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37080 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 77982ded 12-May-2010 Ryan Leavengood <leavengood@gmail.com>

Fix #5808. I'm not completely happy with this solution, but it fixes the
problem without a bunch of refactoring. I intend to do more refactoring of
ShowImage after developing an automated test suite.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36800 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 35982ed8 17-Jan-2010 Karsten Heimrich <host.haiku@gmx.de>

* Fix can't cut and drag a piece of picture from ShowImage to Desktop, ticket #4874.
* Set the current image mime as first in the translators list, thus on drag&drop with
left mouse button the same image type is created as the currently loaded in ShowImage.

Still this does more hide than fix the real problem, beeing ICO translator the first in
the generated translator list due to the high capabilitys values and a limited set of
output sizes it can handle. I attached a further fix to the ticket, still i would like
to get some other opinions on it before commiting.


By default the transla


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35139 a95241bf-73f2-0310-859d-f6bbb57e9c96


# bce3b09a 17-Nov-2009 Axel Dörfler <axeld@pinc-software.de>

* Applied patch by Idefix that fixes bug #4730 by removing the iterate over
directory functionality without Tracker.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34103 a95241bf-73f2-0310-859d-f6bbb57e9c96


# fd952aef 13-Aug-2009 Ryan Leavengood <leavengood@gmail.com>

Started cleaning up these monsters:

- Add underscore to private methods.
- Use class member initializer syntax.
- Make sure all class members are initialized, use same order as headers.
- Header reordering.
- A few other small things.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32342 a95241bf-73f2-0310-859d-f6bbb57e9c96


# a58eacec 11-Apr-2007 Axel Dörfler <axeld@pinc-software.de>

Implemented a progress window: it will be shown after one second in case the translator
supports it - currently, only the RAW image translator does this (as it needs about 10
seconds to open a 6 mio. pixel RAW image on a 2.6 GHz P4).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20650 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 8f5fd23f 29-Jan-2007 Ryan Leavengood <leavengood@gmail.com>

The size of the selection rectangle is now shown in the status bar. Useful for
cropping an image to a certain size or taking similar sized croppings from
various images (as I need to do.)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20012 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 880be331 28-Jan-2007 Ryan Leavengood <leavengood@gmail.com>

General changes:
- Fixed some formatting in the recently added resizing code.
- Changed the operation name for rotating counterclockwise to use that name
instead of anticlockwise. This makes the code consistent with the GUI.
- Reformatted the constants header to use an enum. Also removed the empty
constants cpp file.
- The QuitRequested handler in the app did not ask the windows to close, which
could cause modified images to be closed without prompting the user. Now it
does, which makes ShowImage more user friendly.

Changes to the image view:
- Added a member for keeping track of the type of image. This is mostly used in
properly updating the window's status bar when the image is changed (flipped,
rotated, etc.) This removes some hacky code I added before :)
- Removed the status parameter in the Notify method since it was only used for
the above image type status updating.
- Removed a redundant if in the mouse up handler.
- The key down handlers for moving to the next and previous image did not
properly prompt the user if the image had changed. I fixed this by sending a
message to the window where the prompting code resides. When adding this I
also created a few helper methods for sending messages to the window, which
removed some (small) repeated code through-out the class.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19994 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 19742321 20-Dec-2006 Ryan Leavengood <leavengood@gmail.com>

Changed the delay on hiding the cursor in fullscreen to 2 seconds (much
better...not sure what I was thinking with 5 seconds before.) I also fixed a
few other issues related to this.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19578 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 6346c894 19-Dec-2006 Ryan Leavengood <leavengood@gmail.com>

Implemented Stephan's previous TODO (in an svn commit message) to hide the
cursor after a delay when in fullscreen mode. I set the delay to 5 seconds. In
addition I make sure the ShowImage window is the active window before trying to
hide the cursor, because otherwise there is a lot of cursor flickering if you
change workspaces.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19569 a95241bf-73f2-0310-859d-f6bbb57e9c96


# d9f6762d 17-Dec-2006 Michael Pfeiffer <michael.w.pfeiffer@gmail.com>

Integrated "resize" feature from Zetas version of ShowImage, however used our bilinear scaler instead of Zetas implementation and made ResizerWindow font sensitive and removed the radio buttons with predefined sizes. Kudos to Bernd Korz for providing the ShowImage Zeta source code under MIT license.
Moved menu item "As Desktop Background" into "Image" menu from "View" menu.
Removed unused metod ShowImageWindow::Zoom(...).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19540 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 76d115d8 11-Nov-2006 Ryan Leavengood <leavengood@gmail.com>

Several ShowImage changes:

- Changed the hotkey for the zoom to be = instead of + so that no shifting is necessary.
- Fixed the bitmap alignment code to solve some problems when zooming.
- Removed all references to alignment in the view since the image was already always centered. This greatly simplified the bitmap alignment.
- Removed the redundant fScaleX and fScaleY members of the view since they were always the same as fZoom.
- Removed all code related to having a border in the view.
- Fixed a bug where the type of file would disappear in the status area when zooming (this fix is a little hackish.)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19253 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 61ddc257 20-Apr-2006 Ryan Leavengood <leavengood@gmail.com>

Fixes to ShowImage:

1. Renamed the Image menu items "Mirror Vertical" and "Mirror Horizontal" to "Flip Sideways" and "Flip Upside Down", respectively. This also involved changing the code to match the new names, for consistency.
2. Fixed a bug where zooming in and out would result in the image moving off center. This was due to the bitmap width and height not being recalculated after applying the zoom factor and therefore throwing off the calculations to find the rect for the center.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17182 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 009cd106 06-Feb-2006 Axel Dörfler <axeld@pinc-software.de>

* No longer hides the mouse cursor when the pop up menu is shown.
* Removed the superfluous "Cancel" item from the pop up menu.
* Cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16277 a95241bf-73f2-0310-859d-f6bbb57e9c96


# a60adbf9 07-Feb-2006 Axel Dörfler <axeld@pinc-software.de>

* Added a "Set as desktop background" option with an easy to use engine based
on the OpenTracker's BackgroundImage implementation.
* It's currently placed in the "View" menu, even though it doesn't fit that
good, I think it should definitely be part of the right click menu.
* Some more cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16273 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 37a3ed92 09-Jan-2006 Stephan Aßmus <superstippi@gmx.de>

* quick hack to hide the cursor in fullscreen
(TODO: do this after a time out)
* quick hack to display bitmaps containing an
alpha channel with a checker background
(TODO: rework filters to be alpha channel
aware and compose the checker background
independently of the filter)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15886 a95241bf-73f2-0310-859d-f6bbb57e9c96


# fc5ca95d 13-Jun-2005 Stephan Aßmus <superstippi@gmx.de>

fixed alignment and image layout, esc exits fullscreen mode, black background for fullscreen, zooming window toggles fullscreen, can still browse even if current image has been deleted, space toggles slideshow, swapped next/previous menu items (more logical)

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13101 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 2041038a 19-Jun-2004 Matthew Wilber <mwilber@nowhere.fake>

Re-Added directory based Next/Previous file functionality. Now, if tracker scripting is unavailable, user will still be able to use Next/Previous file commands and the slideshow feature


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8067 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 134d6076 20-Jan-2004 Michael Pfeiffer <michael.w.pfeiffer@gmail.com>

Use Tracker Scripting to find next/previous image.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6203 a95241bf-73f2-0310-859d-f6bbb57e9c96


# a7e78e3b 17-Jan-2004 Matthew Wilber <mwilber@nowhere.fake>

Fixed file saving code so that it is only in one place, (instead of two) and fixed File-->Save As so that it now writes out the type attribute


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6127 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 869e256d 17-Jan-2004 Matthew Wilber <mwilber@nowhere.fake>

Added feature where a file dropped from the Tracker becomes the current selection


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6121 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 64d3ef5f 03-Jan-2004 Matthew Wilber <mwilber@nowhere.fake>

Fixed bug which occured when the Next or Previous image command was used with an image that failed to translate. Changed Next/Previous image behavior to skip past images that fail to translate.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5894 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 75238186 21-Dec-2003 Matthew Wilber <mwilber@nowhere.fake>

Fixed Edit-->Clear to leave behind a white box if the selection box is not moved after it is made, added Undo capability for Cut and Clear actions


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5719 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 7598450e 17-Dec-2003 Matthew Wilber <mwilber@nowhere.fake>

Added initial implementation of Undo for OBOS ShowImage! Now, users can Undo/Redo merge/paste operations. Still need to enhance Undo further so that other operations can be undone, also need to account for image rotations and similar operations.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5693 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 169c19d6 11-Dec-2003 Matthew Wilber <mwilber@nowhere.fake>

Implemented drag/drop from one ShowImage window to another


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5653 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 664c5b69 10-Dec-2003 Matthew Wilber <mwilber@nowhere.fake>

Removed unneeded calls to Invalidate(), changed minimum size for selection rectangle so that users can click in an empty section of the window to unselect the selection


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5641 a95241bf-73f2-0310-859d-f6bbb57e9c96


# a5509541 27-Nov-2003 Michael Pfeiffer <michael.w.pfeiffer@gmail.com>

- Fixed bug in conversion from image coordinates to view coordinates are vice versa.
- Change the size of the image being dragged to size of the selection in the view coordinate system.
- Experimental: delay start of filtering thread(s) for some tenth of a second. This allows faster update during resizing.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5491 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 1f62b22a 27-Nov-2003 Matthew Wilber <mwilber@nowhere.fake>

Changed Cut behavior to match Be's version so that if the user Cuts a selection before moving it, the selection is cut, and a white rectangle is left in its place. If the selection is dragged before the Cut command is used, a white rectangle is not drawn.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5489 a95241bf-73f2-0310-859d-f6bbb57e9c96


# a8fc7138 25-Nov-2003 Michael Pfeiffer <michael.w.pfeiffer@gmail.com>

- Implemented Floyd Steinberg dithering algorithm.
- Remembers "orientation" state (rotated, mirrored or inverted) in file attribute of image.
- Update recent documents menu every time the menu is opened.
- Bug fix and optimization in Filter.cpp.
- Moved image manipulation code from ShowImageView.cpp to Filter.cpp. So it can take advantage of multiple CPUs.
- Experimental: Write/remove thumbnail to/from file icons.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5480 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 5e427b6a 22-Nov-2003 Michael Pfeiffer <michael.w.pfeiffer@gmail.com>

- Made some settings persistent: Slide Show Delay, Scale Bilinear, Shrink/Zoom to Window, Show Caption in Full Screen Mode and PrintOptions.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5441 a95241bf-73f2-0310-859d-f6bbb57e9c96


# d3046f7d 19-Nov-2003 Michael Pfeiffer <michael.w.pfeiffer@gmail.com>

- Made some settings persistent: Slide Show Delay, Scale Bilinear, Shrink/Zoom to Window, Show Caption in Full Screen Mode and PrintOptions persistent.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5415 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 51964605 18-Nov-2003 Matthew Wilber <mwilber@nowhere.fake>

Implemented Cut and Paste. Still need to implement Undo and check for a dirty document when the window or app is closed.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5414 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 19c76de4 18-Nov-2003 Michael Pfeiffer <michael.w.pfeiffer@gmail.com>

- Rewrote bilinear scaling algorithm. The version that uses fixed point calculations is at least two times faster than the version that uses floating point calculations!
- Fixed off by one bugs.
- Replace "Fit to Window" with "Shrink to Window" and "Zoom to Window".


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5409 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 8ad30bcf 17-Nov-2003 Matthew Wilber <mwilber@nowhere.fake>

Added code to merge selection with background image; removed Select None item, replaced it with Clear as Select None was behaving like Be ShowImage's Clear anyway; properly enabled/disabled Edit menu items when selection is made or cleared. Still no undo yet, but I'm planning to do that after Paste is implemented.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5403 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 9eec20bc 16-Nov-2003 Matthew Wilber <mwilber@nowhere.fake>

Changed fpBitmap to the more Be-ish notation of fBitmap, added code to allow the user to drag the bitmap selection around like in Be's ShowImage. However, no changes can be made yet to the underlying image. Need to resolve resize flickering of selected image and allow the user to modify the underlying image.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5392 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 0e93ae51 16-Nov-2003 Matthew Wilber <mwilber@nowhere.fake>

Drag selection code can now move the selection inside the view, fixed selection drag code so that unwanted MouseUps don't affect the selection box movement. Though, drag selection code is not done yet, it is not yet copying the bitmap from where the selection was dragged from, it is just moving the selection rectangle. Dragging a selection to outside of the window still works the same.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5391 a95241bf-73f2-0310-859d-f6bbb57e9c96


# d5be3100 15-Nov-2003 Matthew Wilber <mwilber@nowhere.fake>

Fixed caption hiding method so that whenever any kind of scrolling is done, the caption is hidden in full screen mode. Previously, the caption would only hide during click-and-drag scrolling and using other scrolling would cause the caption to be painted in various places on top of the image.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5384 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 50d78f98 13-Nov-2003 Michael Pfeiffer <michael.w.pfeiffer@gmail.com>

Bug fixed: virtual function must not be called in destructor.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5352 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 81b9c776 12-Nov-2003 Michael Pfeiffer <michael.w.pfeiffer@gmail.com>

- scale bilinear (experimental: scaled image is too small by one pixel)
- bug fixes


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5347 a95241bf-73f2-0310-859d-f6bbb57e9c96


# da87390f 12-Nov-2003 Michael Pfeiffer <michael.w.pfeiffer@gmail.com>

- Scrolling with mouse wheel
- Moving image with third mouse button pressed
- Added pop up menu with contents of View menu of menu bar
- Center image in full screen mode
- Added Select None menu item
- To avoid flickering, disabled caption during moving image with mouse- Added key bindings:
- Cursor keys: moves image
- Enter or space bar: next file
- Backspace: previous file
- Escape: Stops slide show
- SHIFT + first mouse button: simulate third mouse button
- CONTROL + first mouse button: simulates second mouse button


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5322 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 780d8a62 10-Nov-2003 Michael Pfeiffer <michael.w.pfeiffer@gmail.com>

- added printing support
- added zoom in and out
- next/previous file sorts directory entries by itself; does not rely on file system
- added shortcuts to the first 10 menu items of Go To sub menu


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5299 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 6c305411 09-Nov-2003 Matthew Wilber <mwilber@nowhere.fake>

Added Go To Page submenu so the user can directly go to the page that they want. Also fixed a typo.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5290 a95241bf-73f2-0310-859d-f6bbb57e9c96


# e6a50d9c 09-Nov-2003 Michael Pfeiffer <michael.w.pfeiffer@gmail.com>

- renamed and restructured menu bar
- show dialog box when image can not be opened
- added optional caption in full screen mode
- moved/removed code from ShowImageApp to ShowImageView


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5289 a95241bf-73f2-0310-859d-f6bbb57e9c96


# d10d5947 09-Nov-2003 Michael Pfeiffer <michael.w.pfeiffer@gmail.com>

- added recent documents sub menu
- added resize window to image size when file is opened
- added drag and drop selection
- added copy selection to clipboard


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5288 a95241bf-73f2-0310-859d-f6bbb57e9c96


# ad13f387 06-Nov-2003 Michael Pfeiffer <michael.w.pfeiffer@gmail.com>

- added full screen mode
- added dia show
- added rotate image clockwise, anti-clockwise, mirror image vertical or -horiztonal and invert image
- added myself to about dialog and copyright holders


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5270 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 7eca0987 04-Nov-2003 Michael Pfeiffer <michael.w.pfeiffer@gmail.com>

- added option resize image to window size
- added show next/previous file using Command + Cursor Up/Down key
- rewrote selection code
- added marching ants
- renamed member variables to start with capital letter after field prefix


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5255 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 0a3144ad 18-Oct-2003 Matthew Wilber <mwilber@nowhere.fake>

Changed selection box to use a checkered pattern, closer to what Be's ShowImage uses. Stopped using inversion to clear old selections, drawing the bitmap over them instead. Fixed the rect used in setting the view bitmap.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5090 a95241bf-73f2-0310-859d-f6bbb57e9c96


# af2002bf 18-Oct-2003 Matthew Wilber <mwilber@nowhere.fake>

Implemented preliminary selection box skeleton code. Need to add marching ants and connect selection box status to Edit menu.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5083 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 03839579 02-Aug-2003 Matthew Wilber <mwilber@nowhere.fake>

Added multi-page support (as in OBOS TIFFTranslator). Made many changes to the way the app, window and view objects interface with each other. Still could use some polish.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4216 a95241bf-73f2-0310-859d-f6bbb57e9c96


# cdb89ebb 02-Aug-2003 Matthew Wilber <mwilber@nowhere.fake>

Change to have a more consistent coding style, eliminated unused / unessecary code, added MIT license notice, prevented image window from closing when a save panel is open, prevented the user from opening multiple save panels for a single image window, etc.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4214 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 81f20b17 02-Aug-2003 Matthew Wilber <mwilber@nowhere.fake>

Removed selection box code


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4210 a95241bf-73f2-0310-859d-f6bbb57e9c96


# fc0a275b 01-Aug-2003 Matthew Wilber <mwilber@nowhere.fake>

Changed Save AS sub menu to only show the available destination types for bitmap images, implemented Save As feature


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4181 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 13afa642 22-Jul-2002 Phil Greenway <sikosis@gmail.com>

Initial Checkin. Coded by Fernando Francisco de Oliveira.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@388 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 554e2073842e023e35e1523fba025f30574fe137 28-Apr-2014 Adrien Destugues <pulkomandy@pulkomandy.tk>

ShowImage: add feature to force original size.

* This is enabled by shift+click on the Original Size toolbar button.
* The button stays pressed as long as the feature is enabled. Clicking
it again disables it.
* When this is enabled, all images will be shown at original size,
instead of being scaled up or down to fit the window.
* This is not persistent, and only affects the current session/window.


# fa392c2a24c12e160de5d29fadf8a4a52deb5804 05-Mar-2013 Ryan Leavengood <leavengood@gmail.com>

Remove unused ShowImage Undo code.


# 03352b04c579d15b65c6a7cc1ed3648c8911a1bd 30-Nov-2012 Janus <janus2@ymail.com>

Fix #7736. Avoid memory corruption

Signed-off-by: Axel Dörfler <axeld@pinc-software.de>


# 537a273cced14e2da799ae1e4c3474a9fd74d663 24-Jun-2012 Humdinger <humdingerb@gmail.com>

Coding style changes, no functional change.
Hope all's OK, Filter.h is still mostly untouched as it's quite messy with
many exessive commenting.


# 281ad93ce7d923d10bae466916aa4decbcb1f3a1 24-Jun-2011 Ryan Leavengood <leavengood@gmail.com>

Make the zoom "sticky" at 1.0 for about half a second when zooming with the mousewheel.

It might be a bit annoying, not sure yet.

Implements #7253.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42311 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 7c4be36fa63066246170635a50b855a1b5393a10 17-Jun-2011 Ryan Leavengood <leavengood@gmail.com>

Use grabbing cursor when moving image with the mouse.

Fixes #7592.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42232 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 94fd94986adbcfbc84cde243a338aa3f53a16004 08-Apr-2011 Stephan Aßmus <superstippi@gmx.de>

* The window uses layout management in principle. This was necessary
to get the main menu bar to report the correct minimum size. My
previous commit with regards to setting the correct minimum window
size introduced a regression that the window could not shrink below
it's initial size because of some backwards compatibility behavior
of BMenuBar (IIRC).
* Inserted a content view to hold the tool bar and the show image
views. This one does not use layout management, so that everything
pretty much works as before.
* Showing/Hiding the tool bar is now animated.
* When the tool bar is enabled in principle, it will automatically
show in full screen mode when the user moves the mouse. When the
mouse is not above the tool bar, it is hidden after a delay.
* Added a right-aligned "Leave full screen" icon to the tool bar.
* Improved the workings of the slide show icon. As before, it automatically
triggers full screen mode. It is now pressed when the slide show is
running. Clicking it again just stops the slide show without affecting
the full screen mode (i.e. also not when the user left full screen mode
meanwhile).

There are some problems with images not being automatically sized to
the full screen size as would be expected. This needs to be fixed, yet.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41202 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 4aa636331fa38f0756b862567fe93e321de6e234 09-Jan-2011 Axel Dörfler <axeld@pinc-software.de>

* Removed the slide show code from ShowImageView, and reimplemented them in
ShowImageWindow using a BMessageRunner.
* Note, this is completely untested, as it turns out my Haiku installation on
this box is too old to run it. It compiles, at least, and shouldn't break
anything else.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40178 a95241bf-73f2-0310-859d-f6bbb57e9c96


# e2069723097dcded429323414605cd250207d2c0 14-Nov-2010 Axel Dörfler <axeld@pinc-software.de>

* Removed the "shrink to window" option. Instead, there is now a "Fit to window"
menu item that just does that. Additionally, the image is always fit to the
window size when first shown, or if the full screen mode switches.
That also fixes #6765, and #6810.
* The ImageCache now also passes a referenced BitmapOwner object, and bitmaps
are now actually freed when it's allowed to.
* Pressing the zoom button will cause ShowImage to enter full screen again. For
some reason this has been removed as part of r19540.
* The progress window is now visible again, although not that often, as you will
only see it for images that were not in the queue already. The window is now
known to the ShowImageWindow instead of the ShowImageView.
* Moved most constants out of ShowImageConstants.h to where they belong.
* Dropping an image now opens it in another window.
* Removed EntryMenuItem as it's no longer used anywhere.
* Minor other cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39431 a95241bf-73f2-0310-859d-f6bbb57e9c96


# ba3217eee8fd8e9db38d873d8c0d0225917d681f 03-Nov-2010 Axel Dörfler <axeld@pinc-software.de>

* Moved the Tracker navigation logic into its own class, TrackerNavigation.
* Added a new class FolderNavigation that implements the same for folders
without a Tracker window.
* ImageFileNavigator is now using either one depending on whether it got a
valid tracker messenger.
* Removed some unused/unneeded methods.
* Made entry_ref a reference at some more methods, as it's not really optional.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39292 a95241bf-73f2-0310-859d-f6bbb57e9c96


# cd6b5cde06b9cc9ab9e5aacf03cda9dc853c34e4 01-Nov-2010 Axel Dörfler <axeld@pinc-software.de>

* Completed stippi's work on the ImageFileNavigator.
* ShowImageWindow is now using such a navigator.
* Removed navigation support from ShowImageView.
* Prepared everything to support asynchronous image loading (which is not yet
implemented, though).
* Note, this commit brings some regressions I intend to fix in the next few
days, namely deleting files won't work anymore, and dropping images onto
ShowImage. There might be more I don't know about, though :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39259 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 6db01936fe4d1635ff2deb07ce5890a00613ee06 24-Oct-2010 Axel Dörfler <axeld@pinc-software.de>

* Added a selection mode that can currently only be enabled via the menu
(should be part of an optional tool bar in the future). Now the primary, and
the tertiary mouse button pan the image. You still get the selection when
using alt or ctrl and the primary mouse button, even outside of the selection
mode. In selection mode, the primary button changes the selection.
* Renamed {Shrink|Stretch}ToBounds() to comply to our coding style, thanks Ingo.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39132 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 4fd570d3077a142a11ceac82e4f2230fffd3e5c6 24-Oct-2010 Axel Dörfler <axeld@pinc-software.de>

* Fixed another pet peeve of mine: you can now always zoom, no matter if you
have enabled the shrink/stretch option.
* Renamed "zoom to window" to "stretch to window".
* Readded the shrink/stretch options to the full screen context menu only.
* Renamed GetShrinkToBounds() to ShrinkToBounds() as it's a simple getter.
* Changed how and when the shrink/stretch options come into play. Shrinking is
now only set once, when the image is first shown.
* Added snapping in ZoomIn(), and ZoomOut(): they will now always choose 1.0,
and the "fit to window" zoom level when they are close.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39129 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 32c2214392fe93bfdb98ebffa54397fefbdd4abe 23-Oct-2010 Axel Dörfler <axeld@pinc-software.de>

* The shrink/zoom to window options aren't available anymore from the context
menu. I plan to allow zooming always, so they won't be needed that often
anymore.
* Removed all selection copy/move/cut code. This just doesn't belong into an
image viewer.
* Selections are now changed using the tertiary mouse button, or when you press
the command or control modifiers. Instead, the image will now be moved around
with the left button.
* If you drop an image file to ShowImage, it will now open it instead of pasting
it as selection.
* Reworked the scrolling/selection code to never poll, and never use GetMouse().
Instead properly use the asynchronous API (ie. B_NO_POINTER_HISTORY).
* I plan to remove the scaling code as well: the results aren't as good as they
could be (bilinear scaling isn't the solution for everything), and the
interface is pretty awkward, anyway. IMO, this kind of functionality should
be left to apps that are actually thought for image editing. Another solution
would be a Tracker add-on that resizes (multiple) images.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39105 a95241bf-73f2-0310-859d-f6bbb57e9c96


# d164619e7441dd8fb52049bb2a8e4012cf09f493 23-Oct-2010 Axel Dörfler <axeld@pinc-software.de>

* Removed the delayed scaler code - it's no longer needed (and was trying rather
stupid things like creating a 50000x40000 pixel bitmap if you zoomed in).
* Removed dithering in CMAP8 mode. Please use 32 bit mode instead :-)
* Cleaned up ShowImageWindow.h.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39098 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 1076d97b5a24d203f87ddcb4f16d1310c06a8856 23-Oct-2010 Axel Dörfler <axeld@pinc-software.de>

* Removed the ability to invert an image. If you really need that feature,
you'll now have to open an image editing application instead.
* Removed the black border around the image.
* Removed the B_PANEL_BACKGROUND_COLOR background in non-full screen mode - it's
now always black.
* Made zoom level changes exponential.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39095 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 6046b973b67a81738cbefe3c4328a9c870742eb2 23-Oct-2010 Axel Dörfler <axeld@pinc-software.de>

* Implemented zooming to the current mouse position. Thanks to stippi for the
invalidate trick to prevent the app_server to scroll.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39079 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 6277669654a4c66ea78de6f9133706d299dd819e 18-Jun-2010 Stephan Aßmus <superstippi@gmx.de>

Removed one liner function that was only called from one place.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37166 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 0df61fa3dc5318099eff51c5c1e3262f356642b4 17-Jun-2010 Stephan Aßmus <superstippi@gmx.de>

* Moved selection box handling into a separate class SelectionBox. Mouse hooks
of that class are not yet used. Invalidation of the view could also work
via listener mechanism.
* Made image <-> view conversion and constraint methods public.
* Sorted .cpp files in Jamfile alphabetically.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37164 a95241bf-73f2-0310-859d-f6bbb57e9c96


# a7b525d735b1b6c64d80ca2205e55da16468551d 16-Jun-2010 Stephan Aßmus <superstippi@gmx.de>

Previously misunderstood what fMovesBitmap means, renamed _MoveBitmap() also
so these two match up again and refer scrolling.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37160 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 4fa7e62e8df815e908b84c22abed544f58bbc198 16-Jun-2010 Stephan Aßmus <superstippi@gmx.de>

* Coding style cleanup
* Some cleanup in member sorting
* Some renaming of members for improved clarity
* Removed _HasSelection() and use fHasSelection directly


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37159 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 5ab8434cae09854012ca95e01c058179d044c141 12-Jun-2010 Stephan Aßmus <superstippi@gmx.de>

* Fixed storage of image data in the system clipboard. According to the
comments in the code, different programs do it differently. However, I
believe we should follow the BeBook documentation. This is the method which
WonderBrush uses as well, and that one had been tested with other apps like
Refraction. Potentially, copy&paste could work across GoBe Productive now
also, but I didn't test.
* Handle the case where the selection bitmap that gets restored from the
clipboard has a bounds rectangle with an offset. Use this offset as an
alternative to the "be:location" hack.
* Fix the drag bitmap to be semi-transparent on Haiku. B_OP_SELECT does not
affect the alpha channel on Haiku like it apparently did on BeOS, though
I am not inclined to change that behavior.
* Fixed some coding style violations, but tried to mix as little cleanup as
possible.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37118 a95241bf-73f2-0310-859d-f6bbb57e9c96


# d0a2818e88442f18640738e39b537ebbd5a2fafa 10-Jun-2010 Stephan Aßmus <superstippi@gmx.de>

* Do not use the Scaler anymore for asynchronous bilinear filtering, but pass
B_FILTER_BITMAP_BILINEAR to DrawBitmap(). There is virtually no delay at all.
* Some cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37080 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 77982ded19b7d5180d3faeb2c85b8b01925eff59 12-May-2010 Ryan Leavengood <leavengood@gmail.com>

Fix #5808. I'm not completely happy with this solution, but it fixes the
problem without a bunch of refactoring. I intend to do more refactoring of
ShowImage after developing an automated test suite.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36800 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 35982ed847ba957b43dce9b50620b39601ec1b8c 17-Jan-2010 Karsten Heimrich <host.haiku@gmx.de>

* Fix can't cut and drag a piece of picture from ShowImage to Desktop, ticket #4874.
* Set the current image mime as first in the translators list, thus on drag&drop with
left mouse button the same image type is created as the currently loaded in ShowImage.

Still this does more hide than fix the real problem, beeing ICO translator the first in
the generated translator list due to the high capabilitys values and a limited set of
output sizes it can handle. I attached a further fix to the ticket, still i would like
to get some other opinions on it before commiting.


By default the transla


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35139 a95241bf-73f2-0310-859d-f6bbb57e9c96


# bce3b09aed879fad4911e9073c24dafe34fb9d5c 17-Nov-2009 Axel Dörfler <axeld@pinc-software.de>

* Applied patch by Idefix that fixes bug #4730 by removing the iterate over
directory functionality without Tracker.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34103 a95241bf-73f2-0310-859d-f6bbb57e9c96


# fd952aef9b43f8631cd97afc27d12b261d68a917 13-Aug-2009 Ryan Leavengood <leavengood@gmail.com>

Started cleaning up these monsters:

- Add underscore to private methods.
- Use class member initializer syntax.
- Make sure all class members are initialized, use same order as headers.
- Header reordering.
- A few other small things.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32342 a95241bf-73f2-0310-859d-f6bbb57e9c96


# a58eacec3c0fe8ee0043855884bb73627832f0da 11-Apr-2007 Axel Dörfler <axeld@pinc-software.de>

Implemented a progress window: it will be shown after one second in case the translator
supports it - currently, only the RAW image translator does this (as it needs about 10
seconds to open a 6 mio. pixel RAW image on a 2.6 GHz P4).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20650 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 8f5fd23f6012a9852853f83b61d9236184b8f412 29-Jan-2007 Ryan Leavengood <leavengood@gmail.com>

The size of the selection rectangle is now shown in the status bar. Useful for
cropping an image to a certain size or taking similar sized croppings from
various images (as I need to do.)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20012 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 880be3310db507c2aa34f93c86a450d590044638 28-Jan-2007 Ryan Leavengood <leavengood@gmail.com>

General changes:
- Fixed some formatting in the recently added resizing code.
- Changed the operation name for rotating counterclockwise to use that name
instead of anticlockwise. This makes the code consistent with the GUI.
- Reformatted the constants header to use an enum. Also removed the empty
constants cpp file.
- The QuitRequested handler in the app did not ask the windows to close, which
could cause modified images to be closed without prompting the user. Now it
does, which makes ShowImage more user friendly.

Changes to the image view:
- Added a member for keeping track of the type of image. This is mostly used in
properly updating the window's status bar when the image is changed (flipped,
rotated, etc.) This removes some hacky code I added before :)
- Removed the status parameter in the Notify method since it was only used for
the above image type status updating.
- Removed a redundant if in the mouse up handler.
- The key down handlers for moving to the next and previous image did not
properly prompt the user if the image had changed. I fixed this by sending a
message to the window where the prompting code resides. When adding this I
also created a few helper methods for sending messages to the window, which
removed some (small) repeated code through-out the class.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19994 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 19742321471d300e273dd31b7a796f32c07b18e7 20-Dec-2006 Ryan Leavengood <leavengood@gmail.com>

Changed the delay on hiding the cursor in fullscreen to 2 seconds (much
better...not sure what I was thinking with 5 seconds before.) I also fixed a
few other issues related to this.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19578 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 6346c8941ce8b434423b0787733e084076d51d6f 19-Dec-2006 Ryan Leavengood <leavengood@gmail.com>

Implemented Stephan's previous TODO (in an svn commit message) to hide the
cursor after a delay when in fullscreen mode. I set the delay to 5 seconds. In
addition I make sure the ShowImage window is the active window before trying to
hide the cursor, because otherwise there is a lot of cursor flickering if you
change workspaces.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19569 a95241bf-73f2-0310-859d-f6bbb57e9c96


# d9f6762d46c0e7c25d011460bef442ec2d00bfe9 17-Dec-2006 Michael Pfeiffer <michael.w.pfeiffer@gmail.com>

Integrated "resize" feature from Zetas version of ShowImage, however used our bilinear scaler instead of Zetas implementation and made ResizerWindow font sensitive and removed the radio buttons with predefined sizes. Kudos to Bernd Korz for providing the ShowImage Zeta source code under MIT license.
Moved menu item "As Desktop Background" into "Image" menu from "View" menu.
Removed unused metod ShowImageWindow::Zoom(...).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19540 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 76d115d893d4a65d805d648778b9d1bf46ebc4d0 11-Nov-2006 Ryan Leavengood <leavengood@gmail.com>

Several ShowImage changes:

- Changed the hotkey for the zoom to be = instead of + so that no shifting is necessary.
- Fixed the bitmap alignment code to solve some problems when zooming.
- Removed all references to alignment in the view since the image was already always centered. This greatly simplified the bitmap alignment.
- Removed the redundant fScaleX and fScaleY members of the view since they were always the same as fZoom.
- Removed all code related to having a border in the view.
- Fixed a bug where the type of file would disappear in the status area when zooming (this fix is a little hackish.)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19253 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 61ddc257d2349c0b83abfad8da467c582939f657 20-Apr-2006 Ryan Leavengood <leavengood@gmail.com>

Fixes to ShowImage:

1. Renamed the Image menu items "Mirror Vertical" and "Mirror Horizontal" to "Flip Sideways" and "Flip Upside Down", respectively. This also involved changing the code to match the new names, for consistency.
2. Fixed a bug where zooming in and out would result in the image moving off center. This was due to the bitmap width and height not being recalculated after applying the zoom factor and therefore throwing off the calculations to find the rect for the center.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17182 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 009cd1060a8aec4fca7dad602902c43378ffa0d9 06-Feb-2006 Axel Dörfler <axeld@pinc-software.de>

* No longer hides the mouse cursor when the pop up menu is shown.
* Removed the superfluous "Cancel" item from the pop up menu.
* Cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16277 a95241bf-73f2-0310-859d-f6bbb57e9c96


# a60adbf9b400d4f8d586c3acb7ff34034e89fb6d 07-Feb-2006 Axel Dörfler <axeld@pinc-software.de>

* Added a "Set as desktop background" option with an easy to use engine based
on the OpenTracker's BackgroundImage implementation.
* It's currently placed in the "View" menu, even though it doesn't fit that
good, I think it should definitely be part of the right click menu.
* Some more cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16273 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 37a3ed9263137339fbfeb41373c1179c3c0ff756 09-Jan-2006 Stephan Aßmus <superstippi@gmx.de>

* quick hack to hide the cursor in fullscreen
(TODO: do this after a time out)
* quick hack to display bitmaps containing an
alpha channel with a checker background
(TODO: rework filters to be alpha channel
aware and compose the checker background
independently of the filter)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15886 a95241bf-73f2-0310-859d-f6bbb57e9c96


# fc5ca95d01199ef05e072a79ce4bfe827736f097 13-Jun-2005 Stephan Aßmus <superstippi@gmx.de>

fixed alignment and image layout, esc exits fullscreen mode, black background for fullscreen, zooming window toggles fullscreen, can still browse even if current image has been deleted, space toggles slideshow, swapped next/previous menu items (more logical)

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13101 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 2041038abec43869499f29ca72e1d94067e2aff4 19-Jun-2004 Matthew Wilber <mwilber@nowhere.fake>

Re-Added directory based Next/Previous file functionality. Now, if tracker scripting is unavailable, user will still be able to use Next/Previous file commands and the slideshow feature


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8067 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 134d60764764350d5bf693fcbbc49b190426a4ca 20-Jan-2004 Michael Pfeiffer <michael.w.pfeiffer@gmail.com>

Use Tracker Scripting to find next/previous image.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6203 a95241bf-73f2-0310-859d-f6bbb57e9c96


# a7e78e3b64b9c5f1e1b9d7f9be76c5603e687ffe 17-Jan-2004 Matthew Wilber <mwilber@nowhere.fake>

Fixed file saving code so that it is only in one place, (instead of two) and fixed File-->Save As so that it now writes out the type attribute


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6127 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 869e256d6721e2db58436392813e5d49f97ca174 17-Jan-2004 Matthew Wilber <mwilber@nowhere.fake>

Added feature where a file dropped from the Tracker becomes the current selection


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6121 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 64d3ef5ff211df57c5260536db1bad7f539b9d27 03-Jan-2004 Matthew Wilber <mwilber@nowhere.fake>

Fixed bug which occured when the Next or Previous image command was used with an image that failed to translate. Changed Next/Previous image behavior to skip past images that fail to translate.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5894 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 75238186d75d8422e6916ad8c6004ab881fe1af8 21-Dec-2003 Matthew Wilber <mwilber@nowhere.fake>

Fixed Edit-->Clear to leave behind a white box if the selection box is not moved after it is made, added Undo capability for Cut and Clear actions


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5719 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 7598450e4ffd3795068179c052df63e286bb3d6b 17-Dec-2003 Matthew Wilber <mwilber@nowhere.fake>

Added initial implementation of Undo for OBOS ShowImage! Now, users can Undo/Redo merge/paste operations. Still need to enhance Undo further so that other operations can be undone, also need to account for image rotations and similar operations.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5693 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 169c19d6f7efaf32e070546a7d575710bc54a98f 11-Dec-2003 Matthew Wilber <mwilber@nowhere.fake>

Implemented drag/drop from one ShowImage window to another


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5653 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 664c5b6911215b2979b1e87fa79ecd53ae5911e0 10-Dec-2003 Matthew Wilber <mwilber@nowhere.fake>

Removed unneeded calls to Invalidate(), changed minimum size for selection rectangle so that users can click in an empty section of the window to unselect the selection


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5641 a95241bf-73f2-0310-859d-f6bbb57e9c96


# a55095419c99078dacb318cb33cccb3349edb2cd 27-Nov-2003 Michael Pfeiffer <michael.w.pfeiffer@gmail.com>

- Fixed bug in conversion from image coordinates to view coordinates are vice versa.
- Change the size of the image being dragged to size of the selection in the view coordinate system.
- Experimental: delay start of filtering thread(s) for some tenth of a second. This allows faster update during resizing.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5491 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 1f62b22aa02b5e519769a8e3dfad7cdf0945cdf7 27-Nov-2003 Matthew Wilber <mwilber@nowhere.fake>

Changed Cut behavior to match Be's version so that if the user Cuts a selection before moving it, the selection is cut, and a white rectangle is left in its place. If the selection is dragged before the Cut command is used, a white rectangle is not drawn.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5489 a95241bf-73f2-0310-859d-f6bbb57e9c96


# a8fc713847bb28899eca54d19c581895ec324edd 25-Nov-2003 Michael Pfeiffer <michael.w.pfeiffer@gmail.com>

- Implemented Floyd Steinberg dithering algorithm.
- Remembers "orientation" state (rotated, mirrored or inverted) in file attribute of image.
- Update recent documents menu every time the menu is opened.
- Bug fix and optimization in Filter.cpp.
- Moved image manipulation code from ShowImageView.cpp to Filter.cpp. So it can take advantage of multiple CPUs.
- Experimental: Write/remove thumbnail to/from file icons.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5480 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 5e427b6a8516ef2ffa0832e70509a5201c2e7d23 22-Nov-2003 Michael Pfeiffer <michael.w.pfeiffer@gmail.com>

- Made some settings persistent: Slide Show Delay, Scale Bilinear, Shrink/Zoom to Window, Show Caption in Full Screen Mode and PrintOptions.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5441 a95241bf-73f2-0310-859d-f6bbb57e9c96


# d3046f7d46f0a7e9ceb022b01d62975abfea2b5d 19-Nov-2003 Michael Pfeiffer <michael.w.pfeiffer@gmail.com>

- Made some settings persistent: Slide Show Delay, Scale Bilinear, Shrink/Zoom to Window, Show Caption in Full Screen Mode and PrintOptions persistent.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5415 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 51964605395a94495df18178d79dba445a3712ad 18-Nov-2003 Matthew Wilber <mwilber@nowhere.fake>

Implemented Cut and Paste. Still need to implement Undo and check for a dirty document when the window or app is closed.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5414 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 19c76de4a069cc23e43426e2c32487732979d9ba 18-Nov-2003 Michael Pfeiffer <michael.w.pfeiffer@gmail.com>

- Rewrote bilinear scaling algorithm. The version that uses fixed point calculations is at least two times faster than the version that uses floating point calculations!
- Fixed off by one bugs.
- Replace "Fit to Window" with "Shrink to Window" and "Zoom to Window".


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5409 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 8ad30bcf80e66eadbe0e98554f9ed8dc7a859283 17-Nov-2003 Matthew Wilber <mwilber@nowhere.fake>

Added code to merge selection with background image; removed Select None item, replaced it with Clear as Select None was behaving like Be ShowImage's Clear anyway; properly enabled/disabled Edit menu items when selection is made or cleared. Still no undo yet, but I'm planning to do that after Paste is implemented.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5403 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 9eec20bc4a5eef7b7caf3d6bc3355934651fb80b 16-Nov-2003 Matthew Wilber <mwilber@nowhere.fake>

Changed fpBitmap to the more Be-ish notation of fBitmap, added code to allow the user to drag the bitmap selection around like in Be's ShowImage. However, no changes can be made yet to the underlying image. Need to resolve resize flickering of selected image and allow the user to modify the underlying image.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5392 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 0e93ae51e96e48caec8c814220a22c3ff4da230b 16-Nov-2003 Matthew Wilber <mwilber@nowhere.fake>

Drag selection code can now move the selection inside the view, fixed selection drag code so that unwanted MouseUps don't affect the selection box movement. Though, drag selection code is not done yet, it is not yet copying the bitmap from where the selection was dragged from, it is just moving the selection rectangle. Dragging a selection to outside of the window still works the same.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5391 a95241bf-73f2-0310-859d-f6bbb57e9c96


# d5be31007e5eae1be980d7a31e36f54f64df85ad 15-Nov-2003 Matthew Wilber <mwilber@nowhere.fake>

Fixed caption hiding method so that whenever any kind of scrolling is done, the caption is hidden in full screen mode. Previously, the caption would only hide during click-and-drag scrolling and using other scrolling would cause the caption to be painted in various places on top of the image.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5384 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 50d78f98e540f0f440b270e3b51829605aee2fb0 13-Nov-2003 Michael Pfeiffer <michael.w.pfeiffer@gmail.com>

Bug fixed: virtual function must not be called in destructor.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5352 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 81b9c776915e9da688dafc4f9097b9213d0be364 12-Nov-2003 Michael Pfeiffer <michael.w.pfeiffer@gmail.com>

- scale bilinear (experimental: scaled image is too small by one pixel)
- bug fixes


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5347 a95241bf-73f2-0310-859d-f6bbb57e9c96


# da87390fc5001d74e5bfe1c9587de7d23f2566c4 12-Nov-2003 Michael Pfeiffer <michael.w.pfeiffer@gmail.com>

- Scrolling with mouse wheel
- Moving image with third mouse button pressed
- Added pop up menu with contents of View menu of menu bar
- Center image in full screen mode
- Added Select None menu item
- To avoid flickering, disabled caption during moving image with mouse- Added key bindings:
- Cursor keys: moves image
- Enter or space bar: next file
- Backspace: previous file
- Escape: Stops slide show
- SHIFT + first mouse button: simulate third mouse button
- CONTROL + first mouse button: simulates second mouse button


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5322 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 780d8a62d70f1d6cfd6f757f2e87730bece08615 10-Nov-2003 Michael Pfeiffer <michael.w.pfeiffer@gmail.com>

- added printing support
- added zoom in and out
- next/previous file sorts directory entries by itself; does not rely on file system
- added shortcuts to the first 10 menu items of Go To sub menu


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5299 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 6c3054116ed26f244b826d3bd4e06f5c651a44ca 09-Nov-2003 Matthew Wilber <mwilber@nowhere.fake>

Added Go To Page submenu so the user can directly go to the page that they want. Also fixed a typo.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5290 a95241bf-73f2-0310-859d-f6bbb57e9c96


# e6a50d9c7b2b53940115b9202f114eca5e6cf6d8 09-Nov-2003 Michael Pfeiffer <michael.w.pfeiffer@gmail.com>

- renamed and restructured menu bar
- show dialog box when image can not be opened
- added optional caption in full screen mode
- moved/removed code from ShowImageApp to ShowImageView


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5289 a95241bf-73f2-0310-859d-f6bbb57e9c96


# d10d59475c9216c2d639424014cefcf98bde7271 09-Nov-2003 Michael Pfeiffer <michael.w.pfeiffer@gmail.com>

- added recent documents sub menu
- added resize window to image size when file is opened
- added drag and drop selection
- added copy selection to clipboard


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5288 a95241bf-73f2-0310-859d-f6bbb57e9c96


# ad13f387f9a6989fa4ef067983a51b2d6af8f6e1 06-Nov-2003 Michael Pfeiffer <michael.w.pfeiffer@gmail.com>

- added full screen mode
- added dia show
- added rotate image clockwise, anti-clockwise, mirror image vertical or -horiztonal and invert image
- added myself to about dialog and copyright holders


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5270 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 7eca09874bd34b14ac63e3f28ec455fab810cc77 04-Nov-2003 Michael Pfeiffer <michael.w.pfeiffer@gmail.com>

- added option resize image to window size
- added show next/previous file using Command + Cursor Up/Down key
- rewrote selection code
- added marching ants
- renamed member variables to start with capital letter after field prefix


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5255 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 0a3144ad6bd15fb65b6d84573c8988412e139cbf 18-Oct-2003 Matthew Wilber <mwilber@nowhere.fake>

Changed selection box to use a checkered pattern, closer to what Be's ShowImage uses. Stopped using inversion to clear old selections, drawing the bitmap over them instead. Fixed the rect used in setting the view bitmap.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5090 a95241bf-73f2-0310-859d-f6bbb57e9c96


# af2002bf8c94f4c32fbe7119702c5c52280c0ffa 18-Oct-2003 Matthew Wilber <mwilber@nowhere.fake>

Implemented preliminary selection box skeleton code. Need to add marching ants and connect selection box status to Edit menu.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5083 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 03839579020b2f3c91671fbaa4abf7d260624935 02-Aug-2003 Matthew Wilber <mwilber@nowhere.fake>

Added multi-page support (as in OBOS TIFFTranslator). Made many changes to the way the app, window and view objects interface with each other. Still could use some polish.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4216 a95241bf-73f2-0310-859d-f6bbb57e9c96


# cdb89ebbeb5e8a69e54dee9b3daad63f77d9f782 02-Aug-2003 Matthew Wilber <mwilber@nowhere.fake>

Change to have a more consistent coding style, eliminated unused / unessecary code, added MIT license notice, prevented image window from closing when a save panel is open, prevented the user from opening multiple save panels for a single image window, etc.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4214 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 81f20b17b44b229d4662beeb9d1b7e7a83ff3a51 02-Aug-2003 Matthew Wilber <mwilber@nowhere.fake>

Removed selection box code


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4210 a95241bf-73f2-0310-859d-f6bbb57e9c96


# fc0a275bdd0246b215b101de5a599172cc2d8ffb 01-Aug-2003 Matthew Wilber <mwilber@nowhere.fake>

Changed Save AS sub menu to only show the available destination types for bitmap images, implemented Save As feature


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4181 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 13afa64231695bfa50edd375d99fa850ece3a156 22-Jul-2002 Phil Greenway <sikosis@gmail.com>

Initial Checkin. Coded by Fernando Francisco de Oliveira.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@388 a95241bf-73f2-0310-859d-f6bbb57e9c96