[haiku-commits] r37159 - haiku/trunk/src/apps/showimage

  • From: superstippi@xxxxxx
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Wed, 16 Jun 2010 23:29:09 +0200 (CEST)

Author: stippi
Date: 2010-06-16 23:29:09 +0200 (Wed, 16 Jun 2010)
New Revision: 37159
Changeset: http://dev.haiku-os.org/changeset/37159/haiku

Modified:
   haiku/trunk/src/apps/showimage/ShowImageView.cpp
   haiku/trunk/src/apps/showimage/ShowImageView.h
Log:
 * Coding style cleanup
 * Some cleanup in member sorting
 * Some renaming of members for improved clarity
 * Removed _HasSelection() and use fHasSelection directly


Modified: haiku/trunk/src/apps/showimage/ShowImageView.cpp
===================================================================
--- haiku/trunk/src/apps/showimage/ShowImageView.cpp    2010-06-16 20:06:44 UTC 
(rev 37158)
+++ haiku/trunk/src/apps/showimage/ShowImageView.cpp    2010-06-16 21:29:09 UTC 
(rev 37159)
@@ -184,34 +184,37 @@
                uint32 flags)
        :
        BView(rect, name, resizingMode, flags),
-       fDither(BScreen().ColorSpace() == B_CMAP8),
        fDocumentIndex(1),
        fDocumentCount(1),
        fBitmap(NULL),
        fDisplayBitmap(NULL),
        fSelectionBitmap(NULL),
+
        fZoom(1.0),
+
+       fDither(BScreen().ColorSpace() == B_CMAP8),
        fScaleBilinear(true),
        fScaler(NULL),
+#if DELAYED_SCALING
+       fScalingCountDown(SCALING_DELAY_TIME),
+#endif
+       fInverted(false),
+
+       fBitmapLocationInView(0.0, 0.0),
+
        fShrinkToBounds(false),
        fZoomToBounds(false),
        fShrinkOrZoomToBounds(false),
        fFullScreen(false),
-       fLeft(0.0),
-       fTop(0.0),
-       fMovesImage(false),
-       fMakesSelection(false),
+       fDraggingBitmap(false),
+       fCreatingSelection(false),
        fFirstPoint(0.0, 0.0),
        fAnimateSelection(true),
        fHasSelection(false),
        fSlideShow(false),
        fSlideShowDelay(3 * 10), // 3 seconds
        fSlideShowCountDown(0),
-#if DELAYED_SCALING
-       fScalingCountDown(SCALING_DELAY_TIME),
-#endif
        fShowCaption(false),
-       fInverted(false),
        fShowingPopUpMenu(false),
        fHideCursorCountDown(HIDE_CURSOR_DELAY_TIME),
        fIsActiveWin(true),
@@ -253,11 +256,10 @@
        for (int i = 0; i <= 7; i ++) {
                fPatternLeft.data[i] = p1;
                fPatternRight.data[i] = p2;
-               if ((i / 2) % 2 == 0) {
+               if ((i / 2) % 2 == 0)
                        p = 255;
-               } else {
+               else
                        p = 0;
-               }
                fPatternUp.data[i] = p;
                fPatternDown.data[i] = ~p;
        }
@@ -267,37 +269,33 @@
 void
 ShowImageView::_RotatePatterns()
 {
-       int i;
-       uchar p;
-       bool set;
-
        // rotate up
-       p = fPatternUp.data[0];
-       for (i = 0; i <= 6; i ++) {
-               fPatternUp.data[i] = fPatternUp.data[i+1];
-       }
+       uchar p = fPatternUp.data[0];
+       for (int i = 0; i <= 6; i ++)
+               fPatternUp.data[i] = fPatternUp.data[i + 1];
        fPatternUp.data[7] = p;
 
        // rotate down
        p = fPatternDown.data[7];
-       for (i = 7; i >= 1; i --) {
-               fPatternDown.data[i] = fPatternDown.data[i-1];
-       }
+       for (int i = 7; i >= 1; i --)
+               fPatternDown.data[i] = fPatternDown.data[i - 1];
        fPatternDown.data[0] = p;
 
        // rotate to left
        p = fPatternLeft.data[0];
-       set = (p & 0x80) != 0;
+       bool set = (p & 0x80) != 0;
        p <<= 1;
        p &= 0xfe;
-       if (set) p |= 1;
+       if (set)
+               p |= 1;
        memset(fPatternLeft.data, p, 8);
 
        // rotate to right
        p = fPatternRight.data[0];
        set = (p & 1) != 0;
        p >>= 1;
-       if (set) p |= 0x80;
+       if (set)
+               p |= 0x80;
        memset(fPatternRight.data, p, 8);
 }
 
@@ -313,7 +311,7 @@
 ShowImageView::Pulse()
 {
        // animate marching ants
-       if (_HasSelection() && fAnimateSelection && fIsActiveWin) {
+       if (fHasSelection && fAnimateSelection && fIsActiveWin) {
                _RotatePatterns();
                _DrawSelectionBox();
        }
@@ -328,7 +326,7 @@
        }
 
        // Hide cursor in full screen mode
-       if (fFullScreen && !_HasSelection() && !fShowingPopUpMenu && 
fIsActiveWin) {
+       if (fFullScreen && !fHasSelection && !fShowingPopUpMenu && 
fIsActiveWin) {
                if (fHideCursorCountDown <= 0)
                        be_app->ObscureCursor();
                else
@@ -537,7 +535,7 @@
        // and clear everything
        fUndo.Clear();
        _SetHasSelection(false);
-       fMakesSelection = false;
+       fCreatingSelection = false;
        _DeleteBitmap();
        fBitmap = newBitmap;
        fCurrentRef = *ref;
@@ -818,17 +816,17 @@
 void
 ShowImageView::_Setup(BRect rect)
 {
-       fLeft = floorf(rect.left);
-       fTop = floorf(rect.top);
-       fZoom = (rect.Width()+1.0) / (fBitmap->Bounds().Width()+1.0);
+       fBitmapLocationInView.x = floorf(rect.left);
+       fBitmapLocationInView.y = floorf(rect.top);
+       fZoom = (rect.Width() + 1.0) / (fBitmap->Bounds().Width() + 1.0);
 }
 
 
 BPoint
 ShowImageView::_ImageToView(BPoint p) const
 {
-       p.x = floorf(fZoom * p.x + fLeft);
-       p.y = floorf(fZoom * p.y + fTop);
+       p.x = floorf(fZoom * p.x + fBitmapLocationInView.x);
+       p.y = floorf(fZoom * p.y + fBitmapLocationInView.y);
        return p;
 }
 
@@ -836,8 +834,8 @@
 BPoint
 ShowImageView::_ViewToImage(BPoint p) const
 {
-       p.x = floorf((p.x - fLeft) / fZoom);
-       p.y = floorf((p.y - fTop) / fZoom);
+       p.x = floorf((p.x - fBitmapLocationInView.x) / fZoom);
+       p.y = floorf((p.y - fBitmapLocationInView.y) / fZoom);
        return p;
 }
 
@@ -1006,7 +1004,7 @@
        if (fShowCaption)
                _DrawCaption();
 
-       if (_HasSelection()) {
+       if (fHasSelection) {
                if (fSelectionBitmap != NULL) {
                        BRect srcRect;
                        BRect dstRect;
@@ -1022,21 +1020,25 @@
 void
 ShowImageView::_DrawSelectionBox()
 {
-       if (fSelectionRect.Height() > 0.0 && fSelectionRect.Width() > 0.0) {
-               BRect r(fSelectionRect);
-               _ConstrainToImage(r);
-               r = _ImageToView(r);
-               // draw selection box *around* selection
-               r.InsetBy(-1, -1);
-               PushState();
-               rgb_color white = {255, 255, 255};
-               SetLowColor(white);
-               StrokeLine(BPoint(r.left, r.top), BPoint(r.right, r.top), 
fPatternLeft);
-               StrokeLine(BPoint(r.right, r.top+1), BPoint(r.right, 
r.bottom-1), fPatternUp);
-               StrokeLine(BPoint(r.left, r.bottom), BPoint(r.right, r.bottom), 
fPatternRight);
-               StrokeLine(BPoint(r.left, r.top+1), BPoint(r.left, r.bottom-1), 
fPatternDown);
-               PopState();
-       }
+       if (fSelectionRect.Height() <= 0.0 || fSelectionRect.Width() <= 0.0)
+               return;
+
+       BRect r(fSelectionRect);
+       _ConstrainToImage(r);
+       r = _ImageToView(r);
+       // draw selection box *around* selection
+       r.InsetBy(-1, -1);
+       PushState();
+       SetLowColor(255, 255, 255);
+       StrokeLine(BPoint(r.left, r.top), BPoint(r.right, r.top),
+               fPatternLeft);
+       StrokeLine(BPoint(r.right, r.top + 1), BPoint(r.right, r.bottom - 1),
+               fPatternUp);
+       StrokeLine(BPoint(r.left, r.bottom), BPoint(r.right, r.bottom),
+               fPatternRight);
+       StrokeLine(BPoint(r.left, r.top + 1), BPoint(r.left, r.bottom - 1),
+               fPatternDown);
+       PopState();
 }
 
 
@@ -1089,7 +1091,7 @@
 {
        bool hasAlpha = alpha != 255;
 
-       if (!_HasSelection())
+       if (!fHasSelection)
                return NULL;
 
        BRect rect(0, 0, fSelectionRect.Width(), fSelectionRect.Height());
@@ -1381,7 +1383,7 @@
 
        // in case we miss MouseUp
        if ((_GetMouseButtons() & B_TERTIARY_MOUSE_BUTTON) == 0)
-               fMovesImage = false;
+               fDraggingBitmap = false;
 }
 
 
@@ -1467,7 +1469,7 @@
 void
 ShowImageView::_MergeSelection()
 {
-       if (!_HasSelection())
+       if (!fHasSelection)
                return;
 
        if (fSelectionBitmap == NULL) {
@@ -1494,7 +1496,7 @@
        point = _ViewToImage(position);
        buttons = _GetMouseButtons();
 
-       if (_HasSelection() && fSelectionRect.Contains(point)
+       if (fHasSelection && fSelectionRect.Contains(point)
                && (buttons & (B_PRIMARY_MOUSE_BUTTON | 
B_SECONDARY_MOUSE_BUTTON))) {
                if (!fSelectionBitmap)
                        fSelectionBitmap = _CopySelection();
@@ -1536,7 +1538,7 @@
 
                // begin new selection
                _SetHasSelection(true);
-               fMakesSelection = true;
+               fCreatingSelection = true;
                SetMouseEventMask(B_POINTER_EVENTS);
                _ConstrainToImage(point);
                fFirstPoint = point;
@@ -1548,7 +1550,7 @@
        } else if (buttons == B_TERTIARY_MOUSE_BUTTON) {
                // move image in window
                SetMouseEventMask(B_POINTER_EVENTS);
-               fMovesImage = true;
+               fDraggingBitmap = true;
                fFirstPoint = ConvertToScreen(position);
        }
 }
@@ -1573,7 +1575,7 @@
        } else
                _UpdateStatusText();
 
-       if (oldSelection != fCopyFromRect || !_HasSelection()) {
+       if (oldSelection != fCopyFromRect || !fHasSelection) {
                BRect updateRect;
                updateRect = oldSelection | fCopyFromRect;
                updateRect = _ImageToView(updateRect);
@@ -1587,9 +1589,9 @@
 ShowImageView::MouseMoved(BPoint point, uint32 state, const BMessage *message)
 {
        fHideCursorCountDown = HIDE_CURSOR_DELAY_TIME;
-       if (fMakesSelection) {
+       if (fCreatingSelection) {
                _UpdateSelectionRect(point, false);
-       } else if (fMovesImage) {
+       } else if (fDraggingBitmap) {
                _MoveImage();
        }
 }
@@ -1598,12 +1600,12 @@
 void
 ShowImageView::MouseUp(BPoint point)
 {
-       if (fMakesSelection) {
+       if (fCreatingSelection) {
                _UpdateSelectionRect(point, true);
-               fMakesSelection = false;
-       } else if (fMovesImage) {
+               fCreatingSelection = false;
+       } else if (fDraggingBitmap) {
                _MoveImage();
-               fMovesImage = false;
+               fDraggingBitmap = false;
        }
        _AnimateSelection(true);
 }
@@ -2031,7 +2033,7 @@
 void
 ShowImageView::_RemoveSelection(bool toClipboard, bool neverCutBackground)
 {
-       if (!_HasSelection())
+       if (!fHasSelection)
                return;
 
        BRect rect = fSelectionRect;
@@ -2161,7 +2163,7 @@
 void
 ShowImageView::CopySelectionToClipboard()
 {
-       if (!_HasSelection() || !be_clipboard->Lock())
+       if (!fHasSelection || !be_clipboard->Lock())
                return;
 
        be_clipboard->Clear();

Modified: haiku/trunk/src/apps/showimage/ShowImageView.h
===================================================================
--- haiku/trunk/src/apps/showimage/ShowImageView.h      2010-06-16 20:06:44 UTC 
(rev 37158)
+++ haiku/trunk/src/apps/showimage/ShowImageView.h      2010-06-16 21:29:09 UTC 
(rev 37159)
@@ -1,5 +1,5 @@
 /*
- * Copyright 2003-2009, Haiku, Inc. All Rights Reserved.
+ * Copyright 2003-2010, Haiku, Inc. All Rights Reserved.
  * Copyright 2004-2005 yellowTAB GmbH. All Rights Reserverd.
  * Copyright 2006 Bernd Korz. All Rights Reserved
  * Distributed under the terms of the MIT License.
@@ -26,7 +26,8 @@
 #include <View.h>
 
 
-// delay scaling operation, so that a sequence of zoom in/out operations works 
smoother
+// Delay scaling operation, so that a sequence of zoom in/out operations works
+// smoother
 #define DELAYED_SCALING 1
 // the delay time in 1/10 seconds
 #define SCALING_DELAY_TIME 3
@@ -39,223 +40,275 @@
 class ProgressWindow;
 
 class ShowImageView : public BView {
-       public:
-               ShowImageView(BRect rect, const char *name, uint32 resizingMode,
-                       uint32 flags);
-               virtual ~ShowImageView();
+public:
+                                                               
ShowImageView(BRect rect, const char* name,
+                                                                       uint32 
resizingMode, uint32 flags);
+       virtual                                         ~ShowImageView();
 
-               virtual void AttachedToWindow();
-               virtual void DetachedFromWindow();
-               virtual void Draw(BRect updateRect);
-               virtual void FrameResized(float width, float height);
-               virtual void MouseDown(BPoint point);
-               virtual void MouseMoved(BPoint point, uint32 state, const 
BMessage *message);
-               virtual void MouseUp(BPoint point);
-               virtual void KeyDown(const char *bytes, int32 numBytes);
-               virtual void Pulse();
+       virtual void                            AttachedToWindow();
+       virtual void                            DetachedFromWindow();
+       virtual void                            Draw(BRect updateRect);
+       virtual void                            FrameResized(float width, float 
height);
+       virtual void                            MouseDown(BPoint point);
+       virtual void                            MouseMoved(BPoint point, uint32 
state,
+                                                                       const 
BMessage* dragMessage);
+       virtual void                            MouseUp(BPoint point);
+       virtual void                            KeyDown(const char* bytes, 
int32 numBytes);
+       virtual void                            Pulse();
 
-               virtual void MessageReceived(BMessage *message);
-               virtual void WindowActivated(bool active);
+       virtual void                            MessageReceived(BMessage* 
message);
+       virtual void                            WindowActivated(bool active);
 
-               void SetTrackerMessenger(const BMessenger& trackerMessenger);
-               status_t SetImage(const entry_ref *ref);
-               const entry_ref* Image() const { return &fCurrentRef; }
+                       void                            SetTrackerMessenger(
+                                                                       const 
BMessenger& trackerMessenger);
+                       status_t                        SetImage(const 
entry_ref* ref);
+                       const entry_ref*        Image() const { return 
&fCurrentRef; }
 
-               void SaveToFile(BDirectory* dir, const char* name, BBitmap* 
bitmap,
-                               const translation_format* format);
-               void SetDither(bool dither);
-               bool GetDither() const { return fDither; }
-               void SetShowCaption(bool show);
-               void SetShrinkToBounds(bool enable);
-               bool GetShrinkToBounds() const { return fShrinkToBounds; }
-               void SetZoomToBounds(bool enable);
-               bool GetZoomToBounds() const { return fZoomToBounds; }
-               void SetFullScreen(bool fullScreen);
-               BBitmap *GetBitmap();
-               void GetName(BString *name);
-               void GetPath(BString *name);
-               void SetScaleBilinear(bool b);
-               bool GetScaleBilinear() { return fScaleBilinear; }
+                       void                            SaveToFile(BDirectory* 
dir, const char* name,
+                                                                       
BBitmap* bitmap,
+                                                                       const 
translation_format* format);
+                       void                            SetDither(bool dither);
+                       bool                            GetDither() const { 
return fDither; }
+                       void                            SetScaleBilinear(bool 
b);
+                       bool                            GetScaleBilinear() { 
return fScaleBilinear; }
+                       void                            SetShowCaption(bool 
show);
+                       void                            SetShrinkToBounds(bool 
enable);
+                       bool                            GetShrinkToBounds() 
const
+                                                                       { 
return fShrinkToBounds; }
+                       void                            SetZoomToBounds(bool 
enable);
+                       bool                            GetZoomToBounds() const
+                                                                       { 
return fZoomToBounds; }
+                       void                            SetFullScreen(bool 
fullScreen);
 
-               void FixupScrollBar(orientation o, float bitmapLength, float 
viewLength);
-               void FixupScrollBars();
+                       BBitmap*                        GetBitmap();
+                       void                            GetName(BString* name);
+                       void                            GetPath(BString* name);
 
-               int32 CurrentPage();
-               int32 PageCount();
+                       void                            FixupScrollBar(enum 
orientation orientation,
+                                                                       float 
bitmapLength, float viewLength);
+                       void                            FixupScrollBars();
 
-               void Undo();
-               void Cut();
-               void Paste();
-               void SelectAll();
-               void ClearSelection();
+                       void                            Undo();
+                       void                            Cut();
+                       void                            Paste();
+                       void                            SelectAll();
+                       void                            ClearSelection();
 
-               void CopySelectionToClipboard();
+                       void                            
CopySelectionToClipboard();
 
-               void FirstPage();
-               void LastPage();
-               void NextPage();
-               void PrevPage();
-               void GoToPage(int32 page);
-               bool NextFile();
-               bool PrevFile();
-               bool HasNextFile();
-               bool HasPrevFile();
-               void SetSlideShowDelay(float seconds);
-               float GetSlideShowDelay() const { return fSlideShowDelay / 
10.0; }
-               bool SlideShowStarted() const { return fSlideShow; }
-               void StartSlideShow();
-               void StopSlideShow();
-               void SetZoom(float zoom);
-               void ZoomIn();
-               void ZoomOut();
+                       int32                           CurrentPage();
+                       int32                           PageCount();
 
-               // Image manipulation
-               void Rotate(int degree); // 90 and 270 only
-               void Flip(bool vertical);
-               void Invert();
-               void ResizeImage(int w, int h);
+                       void                            FirstPage();
+                       void                            LastPage();
+                       void                            NextPage();
+                       void                            PrevPage();
+                       void                            GoToPage(int32 page);
 
-               void SetIcon(bool clear);
+                       bool                            NextFile();
+                       bool                            PrevFile();
+                       bool                            HasNextFile();
+                       bool                            HasPrevFile();
 
-       private:
-               ShowImageUndo fUndo;
-               enum image_orientation {
-                       k0,    // 0
-                       k90,   // 1
-                       k180,  // 2
-                       k270,  // 3
-                       k0V,   // 4
-                       k90V,  // 5
-                       k0H,   // 6
-                       k270V, // 7
-                       kNumberOfOrientations,
-               };
-               void _InitPatterns();
-               void _RotatePatterns();
-               void _RemoveSelection(bool bToClipboard, bool 
neverCutBackground = false);
-               bool _HasSelection() { return fHasSelection; }
-               void _SetHasSelection(bool bHasSelection);
-               void _AnimateSelection(bool a);
-               void _SendMessageToWindow(BMessage *message);
-               void _SendMessageToWindow(uint32 code);
-               void _Notify();
-               void _UpdateStatusText();
-               void _AddToRecentDocuments();
-               void _AddWhiteRect(BRect &rect);
-               void _GetMergeRects(BBitmap *merge, BRect selection, BRect 
&srcBits, BRect &destRect);
-               void _GetSelectionMergeRects(BRect &srcBits, BRect &destRect);
-               status_t _SetSelection(const entry_ref *pref, BPoint point);
-               status_t _PasteBitmap(BBitmap *bitmap, BPoint point);
-               void _MergeWithBitmap(BBitmap *merge, BRect selection);
-               void _MergeSelection();
-               void _DeleteScaler();
-               void _DeleteBitmap();
-               void _DeleteSelectionBitmap();
-               int32 _BytesPerPixel(color_space cs) const;
-               void _CopyPixel(uchar* dest, int32 destX, int32 destY, int32 
destBPR,
-                               uchar* src, int32 x, int32 y, int32 bpr, int32 
bpp);
-               void _InvertPixel(int32 x, int32 y, uchar* dest, int32 destBPR, 
uchar* src,
-                               int32 bpr, int32 bpp);
-               void _DoImageOperation(enum ImageProcessor::operation op, bool 
quiet = false);
-               void _UserDoImageOperation(enum ImageProcessor::operation op, 
bool quiet = false);
-               BRect _AlignBitmap();
-               void _Setup(BRect r);
-               BPoint _ImageToView(BPoint p) const;
-               BPoint _ViewToImage(BPoint p) const;
-               BRect _ImageToView(BRect r) const;
-               bool _IsImage(const entry_ref* pref);
-               static int _CompareEntries(const void* a, const void* b);
-               void _FreeEntries(BList* entries);
-               void _SetTrackerSelectionToCurrent();
-               bool _FindNextImage(entry_ref *in_current, entry_ref *out_image,
-                               bool next, bool rewind);
-               bool _ShowNextImage(bool next, bool rewind);
-               bool _FirstFile();
-               void _ConstrainToImage(BPoint &point);
-               void _ConstrainToImage(BRect &rect);
-               BBitmap* _CopyFromRect(BRect srcRect);
-               BBitmap* _CopySelection(uchar alpha = 255, bool imageSize = 
true);
-               bool _AddSupportedTypes(BMessage* msg, BBitmap* bitmap);
-               void _BeginDrag(BPoint sourcePoint);
-               void _SendInMessage(BMessage* msg, BBitmap* bitmap, 
translation_format* format);
-               bool _OutputFormatForType(BBitmap* bitmap, const char* type,
-                               translation_format* format);
-               void _HandleDrop(BMessage* msg);
-               void _MoveImage();
-               uint32 _GetMouseButtons();
-               void _UpdateSelectionRect(BPoint point, bool final);
-               void _DrawBorder(BRect border);
-               void _LayoutCaption(BFont &font, BPoint &textPos, BRect 
&background);
-               void _DrawCaption();
-               void _UpdateCaption();
-               void _DrawSelectionBox();
-               Scaler* _GetScaler(BRect rect);
-               void _DrawImage(BRect rect);
-               float _LimitToRange(float v, orientation o, bool absolute);
-               void _ScrollRestricted(float x, float y, bool absolute);
-               void _ScrollRestrictedTo(float x, float y);
-               void _ScrollRestrictedBy(float x, float y);
-               void _MouseWheelChanged(BMessage* msg);
-               void _ShowPopUpMenu(BPoint screen);
-               void _SettingsSetBool(const char* name, bool value);
-               void _SetIcon(bool clear, icon_size which);
-               void _ToggleSlideShow();
-               void _ExitFullScreen();
+                       void                            SetSlideShowDelay(float 
seconds);
+                       float                           GetSlideShowDelay() 
const
+                                                                       { 
return fSlideShowDelay / 10.0; }
+                       bool                            SlideShowStarted() 
const { return fSlideShow; }
+                       void                            StartSlideShow();
+                       void                            StopSlideShow();
+                       void                            SetZoom(float zoom);
+                       void                            ZoomIn();
+                       void                            ZoomOut();
 
-               BMessenger fTrackerMessenger; // of the window that this was 
launched from
-               entry_ref fCurrentRef;          // of the image
-               bool fDither;                           // dither the image
-               int32 fDocumentIndex;           // of the image in the file
-               int32 fDocumentCount;           // number of images in the file
-               BBitmap *fBitmap;                       // the original image
-               BBitmap *fDisplayBitmap;
-                       // the image to be displayed
-                       // (== fBitmap if the bitmap can be displayed as is)
-               BBitmap *fSelectionBitmap;              // the bitmap in the 
selection
-               float fZoom;                            // factor to be used to 
display the image
-               bool fScaleBilinear;            // use bilinear scaling?
-               Scaler* fScaler;                        // holds the scaled 
image if bilinear scaling is enabled
-               bool fShrinkToBounds;
-               bool fZoomToBounds;
-               bool fShrinkOrZoomToBounds;
-               bool fFullScreen;                       // is the image 
displayed fullscreen?
-               float fLeft;                            // the origin of the 
image in the view
-               float fTop;
-               bool fMovesImage;                       // is the image being 
moved with the mouse
-               bool fMakesSelection;           // is a selection being made
-               BPoint fFirstPoint;                     // first point in image 
space of selection
-               bool fAnimateSelection;         // marching ants
-               bool fHasSelection;                     // is fSelectionRect 
valid 
-               BRect fSelectionRect;           // the current location of the 
selection rectangle
-               BRect fCopyFromRect;
-                       // the portion of the background bitmap the selection 
is made from
-               pattern fPatternUp, fPatternDown, fPatternLeft, fPatternRight;
-       
-               bool fSlideShow;                        // is slide show 
enabled?
-               int fSlideShowDelay;            // in pulse rate units
-               int fSlideShowCountDown;        // shows next image if it 
reaches zero
+                       // Image manipulation
+                       void                            Rotate(int degree); // 
90 and 270 only
+                       void                            Flip(bool vertical);
+                       void                            Invert();
+                       void                            ResizeImage(int width, 
int height);
+
+                       void                            SetIcon(bool clear);
+
+private:
+                       enum image_orientation {
+                               k0,    // 0
+                               k90,   // 1
+                               k180,  // 2
+                               k270,  // 3
+                               k0V,   // 4
+                               k90V,  // 5
+                               k0H,   // 6
+                               k270V, // 7
+                               kNumberOfOrientations,
+                       };
+
+                       void                            _InitPatterns();
+                       void                            _RotatePatterns();
+                       void                            _RemoveSelection(bool 
bToClipboard,
+                                                                       bool 
neverCutBackground = false);
+                       void                            _SetHasSelection(bool 
bHasSelection);
+                       void                            _AnimateSelection(bool 
a);
+                       void                            
_SendMessageToWindow(BMessage *message);
+                       void                            
_SendMessageToWindow(uint32 code);
+                       void                            _Notify();
+                       void                            _UpdateStatusText();
+                       void                            _AddToRecentDocuments();
+                       void                            _AddWhiteRect(BRect& 
rect);
+                       void                            _GetMergeRects(BBitmap* 
merge,
+                                                                       BRect 
selection, BRect& srcRect,
+                                                                       BRect& 
dstRect);
+                       void                            
_GetSelectionMergeRects(BRect& srcRect,
+                                                                       BRect& 
dstRect);
+                       status_t                        _SetSelection(const 
entry_ref* ref,
+                                                                       BPoint 
point);
+                       status_t                        _PasteBitmap(BBitmap* 
bitmap, BPoint point);
+                       void                            
_MergeWithBitmap(BBitmap* merge,
+                                                                       BRect 
selection);
+                       void                            _MergeSelection();
+                       void                            _DeleteScaler();
+                       void                            _DeleteBitmap();
+                       void                            
_DeleteSelectionBitmap();
+
+                       int32                           
_BytesPerPixel(color_space cs) const;
+                       void                            _CopyPixel(uchar* dest, 
int32 destX,
+                                                                       int32 
destY, int32 destBPR, uchar* src,
+                                                                       int32 
x, int32 y, int32 bpr, int32 bpp);
+                       void                            _InvertPixel(int32 x, 
int32 y, uchar* dest,
+                                                                       int32 
destBPR, uchar* src, int32 bpr,
+                                                                       int32 
bpp);
+                       void                            _DoImageOperation(
+                                                                       enum 
ImageProcessor::operation op,
+                                                                       bool 
quiet = false);
+                       void                            _UserDoImageOperation(
+                                                                       enum 
ImageProcessor::operation op,
+                                                                       bool 
quiet = false);
+                       BRect                           _AlignBitmap();
+                       void                            _Setup(BRect r);
+                       BPoint                          _ImageToView(BPoint p) 
const;
+                       BPoint                          _ViewToImage(BPoint p) 
const;
+                       BRect                           _ImageToView(BRect r) 
const;
+                       bool                            _IsImage(const 
entry_ref* pref);
+       static  int                                     _CompareEntries(const 
void* a, const void* b);
+                       void                            _FreeEntries(BList* 
entries);
+                       void                            
_SetTrackerSelectionToCurrent();
+                       bool                            
_FindNextImage(entry_ref* inCurrent,
+                                                                       
entry_ref* outImage, bool next,
+                                                                       bool 
rewind);
+                       bool                            _ShowNextImage(bool 
next, bool rewind);
+                       bool                            _FirstFile();
+                       void                            
_ConstrainToImage(BPoint& point);
+                       void                            
_ConstrainToImage(BRect& rect);
+                       BBitmap*                        _CopyFromRect(BRect 
srcRect);
+                       BBitmap*                        _CopySelection(uchar 
alpha = 255,
+                                                                       bool 
imageSize = true);
+                       bool                            
_AddSupportedTypes(BMessage* message,
+                                                                       
BBitmap* bitmap);
+                       void                            _BeginDrag(BPoint 
sourcePoint);
+                       void                            
_SendInMessage(BMessage* message,
+                                                                       
BBitmap* bitmap,
+                                                                       
translation_format* format);
+                       bool                            
_OutputFormatForType(BBitmap* bitmap,
+                                                                       const 
char* type,
+                                                                       
translation_format* format);
+                       void                            _HandleDrop(BMessage* 
message);
+                       void                            _MoveImage();
+                       uint32                          _GetMouseButtons();
+                       void                            
_UpdateSelectionRect(BPoint point, bool final);
+                       void                            _DrawBorder(BRect 
border);
+                       void                            _LayoutCaption(BFont& 
font, BPoint& textPos,
+                                                                       BRect& 
background);
+                       void                            _DrawCaption();
+                       void                            _UpdateCaption();
+                       void                            _DrawSelectionBox();
+
+                       Scaler*                         _GetScaler(BRect rect);
+                       void                            _DrawImage(BRect rect);
+                       float                           _LimitToRange(float v, 
orientation o,
+                                                                       bool 
absolute);
+                       void                            _ScrollRestricted(float 
x, float y,
+                                                                       bool 
absolute);
+                       void                            
_ScrollRestrictedTo(float x, float y);
+                       void                            
_ScrollRestrictedBy(float x, float y);
+                       void                            
_MouseWheelChanged(BMessage* message);
+                       void                            _ShowPopUpMenu(BPoint 
screen);
+                       void                            _SettingsSetBool(const 
char* name, bool value);
+                       void                            _SetIcon(bool clear, 
icon_size which);
+                       void                            _ToggleSlideShow();
+                       void                            _ExitFullScreen();
+
+private:
+                       ShowImageUndo           fUndo;
+                       BMessenger                      fTrackerMessenger;
+                               // of the window that this was launched from
+                       entry_ref                       fCurrentRef;
+
+                       int32                           fDocumentIndex;
+                               // of the image in the file
+                       int32                           fDocumentCount;
+                               // number of images in the file
+
+                       BBitmap*                        fBitmap;
+                       BBitmap*                        fDisplayBitmap;
+                       BBitmap*                        fSelectionBitmap;
+
+                       float                           fZoom;
+
+                       bool                            fDither;
+                       bool                            fScaleBilinear;
+                       Scaler*                         fScaler;
 #if DELAYED_SCALING
-               int fScalingCountDown;
+                       int                                     
fScalingCountDown;
 #endif
+                       bool                            fInverted;
+
+                       BPoint                          fBitmapLocationInView;
+
+                       bool                            fShrinkToBounds;
+                       bool                            fZoomToBounds;
+                       bool                            fShrinkOrZoomToBounds;
+                       bool                            fFullScreen;
+                       bool                            fDraggingBitmap;
+                       bool                            fCreatingSelection;
+                       BPoint                          fFirstPoint;
+                               // first point in image space of selection
+                       bool                            fAnimateSelection;
+                       bool                            fHasSelection;
+                       BRect                           fSelectionRect;
+                       BRect                           fCopyFromRect;
+                               // the portion of the background bitmap the 
selection is made
+                               // from
+
+                       pattern                         fPatternUp;
+                       pattern                         fPatternDown;
+                       pattern                         fPatternLeft;
+                       pattern                         fPatternRight;
        
-               bool fShowCaption;                      // display caption?
-               BString fCaption;                       // caption text
+                       bool                            fSlideShow;
+                       int                                     fSlideShowDelay;
+                               // in pulse rate units
+                       int                                     
fSlideShowCountDown;
+                               // shows next image if it reaches zero
+       
+                       bool                            fShowCaption;
+                       BString                         fCaption;
 
-               BString fImageType;             // Type of image, for use in 
status bar and caption
-               BString fImageMime;
+                       BString                         fImageType;
+                               // Type of image, for use in status bar and 
caption
+                       BString                         fImageMime;
 
-               bool fInverted;
+                       bool                            fShowingPopUpMenu;
 
-               bool fShowingPopUpMenu;
+                       int                                     
fHideCursorCountDown;
+                               // Hides the cursor when it reaches zero
+                       bool                            fIsActiveWin;
+                               // Is the parent window the active window?
 
-               int fHideCursorCountDown;       // Hides the cursor when it 
reaches zero
-               bool fIsActiveWin;                      // Is the parent window 
the active window?
+                       ProgressWindow*         fProgressWindow;
 
-               ProgressWindow* fProgressWindow;
-
-               enum image_orientation fImageOrientation;
-               static enum image_orientation fTransformation[
-                       
ImageProcessor::kNumberOfAffineTransformations][kNumberOfOrientations];
+                       image_orientation       fImageOrientation;
+       static  image_orientation       fTransformation[
+                                                                       
ImageProcessor
+                                                                               
::kNumberOfAffineTransformations]
+                                                                       
[kNumberOfOrientations];
 };
 
 #endif // SHOW_IMAGE_VIEW_H


Other related posts:

  • » [haiku-commits] r37159 - haiku/trunk/src/apps/showimage - superstippi