Commit 82f5e2af authored by Ludovic Fauvet's avatar Ludovic Fauvet Committed by Jean-Baptiste Kempf

Qt: add drow shadow effect

Signed-off-by: default avatarJean-Baptiste Kempf <jb@videolan.org>
parent eb9ef15d
...@@ -32,10 +32,11 @@ ...@@ -32,10 +32,11 @@
#include "assert.h" #include "assert.h"
#define RECT_SIZE 100 #define RECT_SIZE 100
#define ART_SIZE 64 #define ART_SIZE 64
#define OFFSET (100-64)/2 #define OFFSET (100-64)/2
#define ITEMS_SPACING 10 #define ITEMS_SPACING 10
#define ART_RADIUS 7
void PlListViewItemDelegate::paint( QPainter * painter, const QStyleOptionViewItem & option, const QModelIndex & index ) const void PlListViewItemDelegate::paint( QPainter * painter, const QStyleOptionViewItem & option, const QModelIndex & index ) const
{ {
...@@ -62,8 +63,16 @@ void PlListViewItemDelegate::paint( QPainter * painter, const QStyleOptionViewIt ...@@ -62,8 +63,16 @@ void PlListViewItemDelegate::paint( QPainter * painter, const QStyleOptionViewIt
QRect artRect = option.rect.adjusted( OFFSET - 1, 0, - OFFSET, - OFFSET *2 ); QRect artRect = option.rect.adjusted( OFFSET - 1, 0, - OFFSET, - OFFSET *2 );
QPainterPath artRectPath; QPainterPath artRectPath;
artRectPath.addRoundedRect( artRect, 7, 7 ); artRectPath.addRoundedRect( artRect, ART_RADIUS, ART_RADIUS );
// Draw the drop shadow
painter->save();
painter->setOpacity( 0.7 );
painter->setBrush( QBrush( Qt::gray ) );
painter->drawRoundedRect( artRect.adjusted( 2, 2, 2, 2 ), ART_RADIUS, ART_RADIUS );
painter->restore();
// Draw the art pixmap
painter->drawPixmap( artRect, pix ); painter->drawPixmap( artRect, pix );
painter->setClipPath( artRectPath ); painter->setClipPath( artRectPath );
painter->drawPixmap( artRect, pix ); painter->drawPixmap( artRect, pix );
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment