Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

Opie::MM::OImageScrollView Class Reference

Class displaying an image with scrollbars. More...

#include </home/clem/local/src/opie/libopie2/opiemm/oimagescrollview.h>

Inheritance diagram for Opie::MM::OImageScrollView:

Inheritance graph
[legend]
Collaboration diagram for Opie::MM::OImageScrollView:

Collaboration graph
[legend]
List of all members.

Public Types

enum  Rotation { Rotate0, Rotate90, Rotate180, Rotate270 }

Public Slots

virtual void setImage (const QImage &aImage)
virtual void setImage (const QString &path)

Signals

void imageSizeChanged (const QSize &)
void viewportSizeChanged (const QSize &)

Public Member Functions

 OImageScrollView (QWidget *parent, const char *name=0, WFlags fl=0)
 OImageScrollView (const QImage &aImage, QWidget *parent=0, const char *name=0, WFlags f=0, bool always_scale=false, bool rfit=false)
 OImageScrollView (const QString &aFile, QWidget *parent=0, const char *name=0, WFlags f=0, bool always_scale=false, bool rfit=false)
virtual ~OImageScrollView ()
virtual void setDestructiveClose ()
virtual void setAutoRotate (bool how)
virtual void setAutoScale (bool how)
virtual void setAutoScaleRotate (bool scale, bool rotate)
virtual void setShowZoomer (bool how)
virtual bool AutoRotate () const
virtual bool AutoScale () const
virtual bool ShowZoomer () const
virtual int setIntensity (int value, bool reload=false)
virtual const int Intensity () const

Protected Slots

virtual void viewportMouseMoveEvent (QMouseEvent *e)
virtual void contentsMousePressEvent (QMouseEvent *e)
virtual void resizeEvent (QResizeEvent *e)
virtual void keyPressEvent (QKeyEvent *e)

Protected Member Functions

virtual void drawContents (QPainter *p, int clipx, int clipy, int clipw, int cliph)
void init ()
virtual void rescaleImage (int w, int h)
virtual void rotate_into_data (Rotation r)
virtual void generateImage ()
virtual void loadJpeg (bool interncall=false)
bool image_fit_into (const QSize &s)
void check_zoomer ()
virtual bool ImageIsJpeg () const
virtual void setImageIsJpeg (bool how)
virtual bool ImageScaledLoaded () const
virtual void setImageScaledLoaded (bool how)
virtual bool FirstResizeDone () const
virtual void setFirstResizeDone (bool how)
virtual void apply_gamma (int aValue)

Protected Attributes

Opie::MM::OImageZoomer_zoomer
QImage _image_data
QImage _original_data
QPixmap _pdata
int _intensity
bool _newImage
int _mouseStartPosX
int _mouseStartPosY
QBitArray m_states
Rotation m_last_rot
QString m_lastName

Detailed Description

Class displaying an image with scrollbars.

This class displays various image formats supported by QT an gives a small interface for basics display modifications.

See also:
QScrollView
Since:
1.2

Definition at line 27 of file oimagescrollview.h.


Member Enumeration Documentation

enum Opie::MM::OImageScrollView::Rotation
 

Enumeration values:
Rotate0 
Rotate90 
Rotate180 
Rotate270 

Definition at line 31 of file oimagescrollview.h.


Constructor & Destructor Documentation

Opie::MM::OImageScrollView::OImageScrollView QWidget *  parent,
const char *  name = 0,
WFlags  fl = 0
 

Standard constructor

Parameters:
parent the parent widget
name the name of the widget
fl widget flags. The flag Qt::WRepaintNoErase will be always set.

Definition at line 24 of file oimagescrollview.cpp.

References _newImage, _zoomer, AUTO_ROTATE, AUTO_SCALE, FIRST_RESIZE_DONE, IMAGE_IS_JPEG, IMAGE_SCALED_LOADED, init(), m_states, and SHOW_ZOOMER.

Opie::MM::OImageScrollView::OImageScrollView const QImage &  aImage,
QWidget *  parent = 0,
const char *  name = 0,
WFlags  f = 0,
bool  always_scale = false,
bool  rfit = false
 

constructor

Parameters:
aImage QImage object to display
parent the parent widget
name the name of the widget
fl widget flags. The flag Qt::WRepaintNoErase will be always set.
always_scale if the image should be scaled into the display
rfit the image will be rotated to fit

Definition at line 39 of file oimagescrollview.cpp.

References _newImage, _original_data, _zoomer, AUTO_ROTATE, AUTO_SCALE, FIRST_RESIZE_DONE, IMAGE_IS_JPEG, IMAGE_SCALED_LOADED, init(), m_states, and SHOW_ZOOMER.

Opie::MM::OImageScrollView::OImageScrollView const QString aFile,
QWidget *  parent = 0,
const char *  name = 0,
WFlags  f = 0,
bool  always_scale = false,
bool  rfit = false
 

constructor

Parameters:
aFile image file to display
parent the parent widget
name the name of the widget
fl widget flags. The flag Qt::WRepaintNoErase will be always set.
always_scale if the image should be scaled into the display
rfit the image will be rotated to fit

Definition at line 56 of file oimagescrollview.cpp.

References _newImage, _zoomer, AUTO_ROTATE, AUTO_SCALE, FIRST_RESIZE_DONE, IMAGE_IS_JPEG, IMAGE_SCALED_LOADED, init(), m_states, QBitArray::resize(), SCROLLVIEW_BITSET_SIZE, setImage(), and SHOW_ZOOMER.

Opie::MM::OImageScrollView::~OImageScrollView  )  [virtual]
 

Definition at line 217 of file oimagescrollview.cpp.


Member Function Documentation

void Opie::MM::OImageScrollView::apply_gamma int  aValue  )  [protected, virtual]
 

Definition at line 350 of file oimagescrollview.cpp.

References _image_data, data, g, i, and percent().

Referenced by generateImage(), and setIntensity().

bool Opie::MM::OImageScrollView::AutoRotate  )  const [virtual]
 

return the current value of the autorotate flag.

Definition at line 190 of file oimagescrollview.cpp.

References AUTO_ROTATE, m_states, and QBitArray::testBit().

Referenced by generateImage(), and setAutoRotate().

bool Opie::MM::OImageScrollView::AutoScale  )  const [virtual]
 

return the current value of the autoscale flag.

Definition at line 212 of file oimagescrollview.cpp.

References AUTO_SCALE, m_states, and QBitArray::testBit().

Referenced by generateImage(), and loadJpeg().

void Opie::MM::OImageScrollView::check_zoomer  )  [protected]
 

Definition at line 636 of file oimagescrollview.cpp.

References _pdata, _zoomer, image_fit_into(), and ShowZoomer().

Referenced by generateImage(), and setShowZoomer().

void Opie::MM::OImageScrollView::contentsMousePressEvent QMouseEvent *  e  )  [protected, virtual, slot]
 

Reimplemented in ImageView.

Definition at line 598 of file oimagescrollview.cpp.

References _mouseStartPosX, and _mouseStartPosY.

void Opie::MM::OImageScrollView::drawContents QPainter *  p,
int  clipx,
int  clipy,
int  clipw,
int  cliph
[protected, virtual]
 

Definition at line 551 of file oimagescrollview.cpp.

References _original_data, _pdata, Opie::MM::x, and Opie::MM::y.

bool Opie::MM::OImageScrollView::FirstResizeDone  )  const [protected, virtual]
 

Definition at line 646 of file oimagescrollview.cpp.

References FIRST_RESIZE_DONE, m_states, and QBitArray::testBit().

Referenced by generateImage(), init(), and setImage().

void Opie::MM::OImageScrollView::generateImage  )  [protected, virtual]
 

Definition at line 451 of file oimagescrollview.cpp.

References _image_data, _intensity, _newImage, _original_data, _pdata, _zoomer, apply_gamma(), AutoRotate(), AutoScale(), check_zoomer(), FirstResizeDone(), height, imageSizeChanged(), m_last_rot, rescaleImage(), Rotate0, Rotate90, rotate_into_data(), Opie::MM::OImageZoomer::setImage(), and width.

Referenced by init(), resizeEvent(), setAutoRotate(), setAutoScale(), setImage(), and setIntensity().

bool Opie::MM::OImageScrollView::image_fit_into const QSize &  s  )  [protected]
 

Definition at line 617 of file oimagescrollview.cpp.

References height, and width.

Referenced by check_zoomer(), and init().

bool Opie::MM::OImageScrollView::ImageIsJpeg  )  const [protected, virtual]
 

Definition at line 656 of file oimagescrollview.cpp.

References IMAGE_IS_JPEG, m_states, and QBitArray::testBit().

Referenced by setAutoScale().

bool Opie::MM::OImageScrollView::ImageScaledLoaded  )  const [protected, virtual]
 

Definition at line 666 of file oimagescrollview.cpp.

References IMAGE_SCALED_LOADED, m_states, and QBitArray::testBit().

Referenced by loadJpeg(), and setAutoScale().

void Opie::MM::OImageScrollView::imageSizeChanged const QSize &   )  [signal]
 

emitted when the display image size has changed.

Referenced by generateImage(), and init().

void Opie::MM::OImageScrollView::init  )  [protected]
 

Definition at line 148 of file oimagescrollview.cpp.

References _intensity, _original_data, _zoomer, FirstResizeDone(), generateImage(), image_fit_into(), imageSizeChanged(), m_last_rot, Rotate0, setImageIsJpeg(), setImageScaledLoaded(), ShowZoomer(), and viewportSizeChanged().

Referenced by OImageScrollView().

const int Opie::MM::OImageScrollView::Intensity  )  const [virtual]
 

return the current display intensity

Definition at line 420 of file oimagescrollview.cpp.

References _intensity.

Referenced by PMainWindow::setupBrightness(), ImageView::slotDecBrightness(), and ImageView::slotIncBrightness().

void Opie::MM::OImageScrollView::keyPressEvent QKeyEvent *  e  )  [protected, virtual, slot]
 

Definition at line 528 of file oimagescrollview.cpp.

References Qt::Key_Down, Qt::Key_Left, Qt::Key_Right, and Qt::Key_Up.

void Opie::MM::OImageScrollView::loadJpeg bool  interncall = false  )  [protected, virtual]
 

Definition at line 87 of file oimagescrollview.cpp.

References _newImage, _original_data, AutoScale(), Opie::MM::ExifData::getHeight(), Opie::MM::ExifData::getWidth(), ImageScaledLoaded(), QString::isEmpty(), l, QString::latin1(), m_lastName, Opie::MM::ExifData::scan(), setImageScaledLoaded(), and wid.

Referenced by setAutoScale(), and setImage().

void Opie::MM::OImageScrollView::rescaleImage int  w,
int  h
[protected, virtual]
 

Definition at line 221 of file oimagescrollview.cpp.

References _image_data, and ws().

Referenced by generateImage().

void Opie::MM::OImageScrollView::resizeEvent QResizeEvent *  e  )  [protected, virtual, slot]
 

Definition at line 518 of file oimagescrollview.cpp.

References generateImage(), setFirstResizeDone(), size, and viewportSizeChanged().

void Opie::MM::OImageScrollView::rotate_into_data Rotation  r  )  [protected, virtual]
 

Definition at line 234 of file oimagescrollview.cpp.

References _image_data, _newImage, _original_data, Opie::MM::dest, Opie::MM::destData, Opie::MM::destTable, Rotate180, Rotate270, Rotate90, Opie::MM::srcData, Opie::MM::srcTable, Opie::MM::x, and Opie::MM::y.

Referenced by generateImage().

void Opie::MM::OImageScrollView::setAutoRotate bool  how  )  [virtual]
 

set if the image should be rotate to best fit and repaint it if set to a new value.

Be carefull - autorating real large images cost time!

Parameters:
how if true then autorotate otherwise not

Definition at line 180 of file oimagescrollview.cpp.

References _image_data, AUTO_ROTATE, AutoRotate(), generateImage(), m_states, and QBitArray::setBit().

void Opie::MM::OImageScrollView::setAutoScale bool  how  )  [virtual]
 

set if the image should be scaled to the size of the viewport if larger(!)

if autoscaling is set when loading a jpeg image, it will use a feature of jpeg lib to load the image scaled to display size. If switch of later the image will reloaded.

Parameters:
how true - display image scaled down otherwise not

Definition at line 201 of file oimagescrollview.cpp.

References _image_data, _newImage, AUTO_SCALE, generateImage(), ImageIsJpeg(), ImageScaledLoaded(), loadJpeg(), m_states, and QBitArray::setBit().

Referenced by setAutoScaleRotate(), and ViewMail::slotItemClicked().

void Opie::MM::OImageScrollView::setAutoScaleRotate bool  scale,
bool  rotate
[virtual]
 

set if the image should be scaled to the size of the viewport if larger(!) and/or rotate to best fit. You avoid double repainting when you want to switch booth values.

if autoscaling is set when loading a jpeg image, it will use a feature of jpeg lib to load the image scaled to display size. If switch of later the image will reloaded.

Parameters:
scale true - display image scaled down otherwise not
rotate true - the image will rotate for best fit

Definition at line 195 of file oimagescrollview.cpp.

References AUTO_ROTATE, m_states, setAutoScale(), and QBitArray::setBit().

void Opie::MM::OImageScrollView::setDestructiveClose  )  [virtual]
 

sets the WDestructiveClose flag to the view

Definition at line 609 of file oimagescrollview.cpp.

void Opie::MM::OImageScrollView::setFirstResizeDone bool  how  )  [protected, virtual]
 

Definition at line 651 of file oimagescrollview.cpp.

References FIRST_RESIZE_DONE, m_states, and QBitArray::setBit().

Referenced by resizeEvent().

void Opie::MM::OImageScrollView::setImage const QString path  )  [virtual, slot]
 

Displays a new image, calculations will made immediately.

Parameters:
path the image to display

Definition at line 125 of file oimagescrollview.cpp.

References _image_data, _newImage, _original_data, FirstResizeDone(), generateImage(), loadJpeg(), m_lastName, and setImageIsJpeg().

void Opie::MM::OImageScrollView::setImage const QImage &  aImage  )  [virtual, slot]
 

Displays a new image, calculations will made immediately.

Parameters:
aImage the image to display

Definition at line 72 of file oimagescrollview.cpp.

References _image_data, _newImage, _original_data, FirstResizeDone(), generateImage(), m_lastName, setImageIsJpeg(), and setImageScaledLoaded().

Referenced by OImageScrollView(), MailImageDlg::setName(), PMainWindow::slotDisplay(), and ViewMail::slotItemClicked().

void Opie::MM::OImageScrollView::setImageIsJpeg bool  how  )  [protected, virtual]
 

Definition at line 661 of file oimagescrollview.cpp.

References IMAGE_IS_JPEG, m_states, and QBitArray::setBit().

Referenced by init(), and setImage().

void Opie::MM::OImageScrollView::setImageScaledLoaded bool  how  )  [protected, virtual]
 

Definition at line 671 of file oimagescrollview.cpp.

References IMAGE_SCALED_LOADED, m_states, and QBitArray::setBit().

Referenced by init(), loadJpeg(), and setImage().

int Opie::MM::OImageScrollView::setIntensity int  value,
bool  reload = false
[virtual]
 

set a display intensity

Parameters:
value the intensity value, will calcuated to a percent value (value/100)
reload should the real image recalculated complete or just work on current display.
Returns:
the new intensity

Definition at line 425 of file oimagescrollview.cpp.

References _image_data, _intensity, _newImage, _pdata, apply_gamma(), generateImage(), height, and width.

Referenced by PMainWindow::setupBrightness(), ImageView::slotDecBrightness(), PMainWindow::slotDisplay(), and ImageView::slotIncBrightness().

void Opie::MM::OImageScrollView::setShowZoomer bool  how  )  [virtual]
 

set if there should be displayed a small zoomer widget at the right bottom of the view when the image is larger than the viewport.

Parameters:
how true - display zoomer

Definition at line 625 of file oimagescrollview.cpp.

References check_zoomer(), m_states, QBitArray::setBit(), and SHOW_ZOOMER.

Referenced by PMainWindow::slotZoomerToggled().

bool Opie::MM::OImageScrollView::ShowZoomer  )  const [virtual]
 

return the current value of the show zoomer flag.

Definition at line 631 of file oimagescrollview.cpp.

References m_states, SHOW_ZOOMER, and QBitArray::testBit().

Referenced by check_zoomer(), and init().

void Opie::MM::OImageScrollView::viewportMouseMoveEvent QMouseEvent *  e  )  [protected, virtual, slot]
 

Definition at line 584 of file oimagescrollview.cpp.

References _mouseStartPosX, and _mouseStartPosY.

void Opie::MM::OImageScrollView::viewportSizeChanged const QSize &   )  [signal]
 

emitted when the size of the viewport has changed, eg. in resizeEvent of the view.

See also:
QWidget::resizeEvent

Referenced by init(), and resizeEvent().


Member Data Documentation

QImage Opie::MM::OImageScrollView::_image_data [protected]
 

Definition at line 170 of file oimagescrollview.h.

Referenced by apply_gamma(), generateImage(), rescaleImage(), rotate_into_data(), setAutoRotate(), setAutoScale(), setImage(), and setIntensity().

int Opie::MM::OImageScrollView::_intensity [protected]
 

Definition at line 173 of file oimagescrollview.h.

Referenced by generateImage(), init(), Intensity(), and setIntensity().

int Opie::MM::OImageScrollView::_mouseStartPosX [protected]
 

Definition at line 176 of file oimagescrollview.h.

Referenced by contentsMousePressEvent(), and viewportMouseMoveEvent().

int Opie::MM::OImageScrollView::_mouseStartPosY [protected]
 

Definition at line 176 of file oimagescrollview.h.

Referenced by contentsMousePressEvent(), and viewportMouseMoveEvent().

bool Opie::MM::OImageScrollView::_newImage [protected]
 

Definition at line 174 of file oimagescrollview.h.

Referenced by generateImage(), loadJpeg(), OImageScrollView(), rotate_into_data(), setAutoScale(), setImage(), and setIntensity().

QImage Opie::MM::OImageScrollView::_original_data [protected]
 

Definition at line 171 of file oimagescrollview.h.

Referenced by drawContents(), generateImage(), init(), loadJpeg(), OImageScrollView(), rotate_into_data(), and setImage().

QPixmap Opie::MM::OImageScrollView::_pdata [protected]
 

Definition at line 172 of file oimagescrollview.h.

Referenced by check_zoomer(), drawContents(), generateImage(), and setIntensity().

Opie::MM::OImageZoomer* Opie::MM::OImageScrollView::_zoomer [protected]
 

Definition at line 169 of file oimagescrollview.h.

Referenced by check_zoomer(), generateImage(), init(), and OImageScrollView().

Rotation Opie::MM::OImageScrollView::m_last_rot [protected]
 

Definition at line 180 of file oimagescrollview.h.

Referenced by generateImage(), and init().

QString Opie::MM::OImageScrollView::m_lastName [protected]
 

Definition at line 181 of file oimagescrollview.h.

Referenced by loadJpeg(), setImage(), and ImageView::slotShowImageInfo().

QBitArray Opie::MM::OImageScrollView::m_states [protected]
 

Definition at line 178 of file oimagescrollview.h.

Referenced by AutoRotate(), AutoScale(), FirstResizeDone(), ImageIsJpeg(), ImageScaledLoaded(), OImageScrollView(), setAutoRotate(), setAutoScale(), setAutoScaleRotate(), setFirstResizeDone(), setImageIsJpeg(), setImageScaledLoaded(), setShowZoomer(), and ShowZoomer().


The documentation for this class was generated from the following files:
Generated on Sat Nov 5 18:01:31 2005 for OPIE by  doxygen 1.4.2