aboutsummaryrefslogtreecommitdiff
path: root/src/views/mimagewidgetview.h
blob: 0f1d004015cda1a4ca34e849f5afb1d5b930e358 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
/***************************************************************************
**
** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (directui@nokia.com)
**
** This file is part of libmeegotouch.
**
** If you have questions regarding the use of this file, please contact
** Nokia at directui@nokia.com.
**
** This library is free software; you can redistribute it and/or
** modify it under the terms of the GNU Lesser General Public
** License version 2.1 as published by the Free Software Foundation
** and appearing in the file LICENSE.LGPL included in the packaging
** of this file.
**
****************************************************************************/

#ifndef MIMAGEWIDGETVIEW_H
#define MIMAGEWIDGETVIEW_H

#include "mexport.h"
#include "mwidgetview.h"
#include "mimagewidgetmodel.h"
#include "mimagewidgetstyle.h"

class MImageWidgetViewPrivate;
class MImageWidget;

/*!
    \class MImageWidgetView
    \brief View class for standard m images.

    \ingroup views

    MImageWidgetView is used to visualize image.

    \section MImageWidgetView Border
        MImageWidgetView draws a fixed width and color border surround the image.
        When image is cropped, the cropped edge will have no border.

        The border of image can be changed using the styling attributes defined
        in MImageWidgetStyle. MImageWidgetStyle::borderTop, MImageWidgetStyle::borderLeft,
        MImageWidgetStyle::borderRight, MImageWidgetStyle::borderBottom,
        MImageWidgetStyle::borderColor and MImageWidgetStyle::borderOpacity

 */

class M_EXPORT MImageWidgetView : public MWidgetView
{
    Q_OBJECT
    M_VIEW(MImageWidgetModel, MImageWidgetStyle)

public:
    /*!
       \brief Constructor
       \param controller Pointer to the MImageWidget
     */
    MImageWidgetView(MImageWidget *controller);

    /*!
       \brief Destructor
     */
    virtual ~MImageWidgetView();

    //! \reimp
    virtual void resizeEvent(QGraphicsSceneResizeEvent *event);
    //! \reimp_end

protected:
    //! \reimp
    virtual void drawContents(QPainter *painter, const QStyleOptionGraphicsItem *option) const;
    virtual QSizeF sizeHint(Qt::SizeHint which, const QSizeF &constraint = QSizeF()) const;
    //! \reimp_end

    //! \internal
    MImageWidgetView(MImageWidgetViewPrivate &dd, MImageWidget *controller);
    //! \internal_end

private:
    Q_DECLARE_PRIVATE(MImageWidgetView)
};

#endif