History log of /haiku/src/apps/showimage/ShowImageConstants.h
Revision Date Author Comments
# 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


# 328932ac 05-Nov-2010 Axel Dörfler <axeld@pinc-software.de>

* Work in progress on implementing asynchronous image retrieval with a
read-ahead cache. Not yet done or used.
* Added deleting images via delete key again. The only difference to before is
that it will open the previous image if the last image in a folder was
removed, and only close ShowImage if there is no image left.


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


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

* Removed resizing ability.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39262 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


# 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


# 5878fb79 17-Apr-2007 Axel Dörfler <axeld@pinc-software.de>

Changed the progress monitor protocol to path a basic message that will be sent back
instead of having a fixed message code.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20746 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


# 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


# 69eee339 25-Apr-2006 Ryan Leavengood <leavengood@gmail.com>

More changes to ShowImage:

1. The newly renamed "Flip Sideways" and "Flip Upside Down" have been renamed again to "Flip Left To Right" and "Flip Top To Bottom". This was after some feedback indicating a preference for the new names.

2. When dragging a selection the standard outlined rectangle is used for the dragging image instead of the alpha-blended bitmap of the selected part of the image if the selection rectangle is larger than 400x400 (taking into account scaling of the image.) This mimics the original ShowImage with the exception of the minimum size. The choice of 400x400 was fairly arbitrary. I may see about turning that value into some kind of hidden option.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17229 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


# 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


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

Fixed various issues:
* ArgvReceived() did not work with relative paths.
* Simplified quitting (no more CanQuit() and overriding BWindow::Quit()).
* Updated signature.
* Cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16260 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


# 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


# ee7b4f39 28-Nov-2003 Matthew Wilber <mwilber@nowhere.fake>

Added checking for modified document and prompt the user if they try to close a document without saving.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5492 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


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

Added code to enable / disable the Edit->Paste menu item when the contents of the clipboard change


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5413 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


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

Changed text for "Rotate Clockwise" and "Rotate Anticlockwise" to "Rotate +90" and "Rotate -90"


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5387 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


# 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


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

Simplified / cleaned up code, fixed close window behavior, changed status view text to show identify string


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4212 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


# 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


# 328932ac9edb30c87a3928b6d2a21b126bcaa3d4 05-Nov-2010 Axel Dörfler <axeld@pinc-software.de>

* Work in progress on implementing asynchronous image retrieval with a
read-ahead cache. Not yet done or used.
* Added deleting images via delete key again. The only difference to before is
that it will open the previous image if the last image in a folder was
removed, and only close ShowImage if there is no image left.


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


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

* Removed resizing ability.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39262 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


# 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


# 5878fb7998ccacca4647319dd898a9b440dabbba 17-Apr-2007 Axel Dörfler <axeld@pinc-software.de>

Changed the progress monitor protocol to path a basic message that will be sent back
instead of having a fixed message code.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20746 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


# 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


# 69eee339bad0aed4b9c4a99226a2cc0f64fb8513 25-Apr-2006 Ryan Leavengood <leavengood@gmail.com>

More changes to ShowImage:

1. The newly renamed "Flip Sideways" and "Flip Upside Down" have been renamed again to "Flip Left To Right" and "Flip Top To Bottom". This was after some feedback indicating a preference for the new names.

2. When dragging a selection the standard outlined rectangle is used for the dragging image instead of the alpha-blended bitmap of the selected part of the image if the selection rectangle is larger than 400x400 (taking into account scaling of the image.) This mimics the original ShowImage with the exception of the minimum size. The choice of 400x400 was fairly arbitrary. I may see about turning that value into some kind of hidden option.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17229 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


# 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


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

Fixed various issues:
* ArgvReceived() did not work with relative paths.
* Simplified quitting (no more CanQuit() and overriding BWindow::Quit()).
* Updated signature.
* Cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16260 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


# 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


# ee7b4f3983532ed5f378e33740e3c00458a4fc5c 28-Nov-2003 Matthew Wilber <mwilber@nowhere.fake>

Added checking for modified document and prompt the user if they try to close a document without saving.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5492 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


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

Added code to enable / disable the Edit->Paste menu item when the contents of the clipboard change


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5413 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


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

Changed text for "Rotate Clockwise" and "Rotate Anticlockwise" to "Rotate +90" and "Rotate -90"


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5387 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


# 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


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

Simplified / cleaned up code, fixed close window behavior, changed status view text to show identify string


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4212 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