boxes example: Also draw gradient borders
This commit is contained in:
parent
696aa8f96a
commit
efb35223ac
|
@ -80,23 +80,23 @@ void Box::setBorder( BorderType type, QskRgbPalette::Theme theme )
|
|||
break;
|
||||
|
||||
case Flat:
|
||||
setBorderColor( mid );
|
||||
setBorderGradient( mid );
|
||||
break;
|
||||
|
||||
case Raised1:
|
||||
setBorderColors( light, light, dark, dark );
|
||||
setBorderGradients( light, light, dark, dark );
|
||||
break;
|
||||
|
||||
case Sunken1:
|
||||
setBorderColors( dark, dark, light, light );
|
||||
setBorderGradients( dark, dark, light, light );
|
||||
break;
|
||||
|
||||
case Raised2:
|
||||
setBorderColors( mid, light, mid, dark );
|
||||
setBorderGradients( mid, light, mid, dark );
|
||||
break;
|
||||
|
||||
case Sunken2:
|
||||
setBorderColors( mid, dark, mid, light );
|
||||
setBorderGradients( mid, dark, mid, light );
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -117,16 +117,16 @@ void Box::setShape( qreal radiusX, qreal radiusY, Qt::SizeMode sizeMode )
|
|||
QskBoxShapeMetrics( radiusX, radiusY, sizeMode ) );
|
||||
}
|
||||
|
||||
void Box::setBorderColors( const QColor& left, const QColor& top,
|
||||
const QColor& right, const QColor& bottom )
|
||||
void Box::setBorderGradients( const QskGradient& left, const QskGradient& top,
|
||||
const QskGradient& right, const QskGradient& bottom )
|
||||
{
|
||||
QskBoxBorderColors colors( left, top, right, bottom );
|
||||
setBoxBorderColorsHint( QskBox::Panel, colors );
|
||||
}
|
||||
|
||||
void Box::setBorderColor( const QColor& color )
|
||||
void Box::setBorderGradient( const QskGradient& gradient )
|
||||
{
|
||||
setBoxBorderColorsHint( QskBox::Panel, color );
|
||||
setBoxBorderColorsHint( QskBox::Panel, gradient );
|
||||
}
|
||||
|
||||
void Box::setBorderWidth( qreal left, qreal top, qreal right, qreal bottom )
|
||||
|
|
|
@ -39,9 +39,9 @@ class Box : public QskBox
|
|||
void setShape( qreal radius, Qt::SizeMode );
|
||||
void setShape( qreal radiusX, qreal radiusY, Qt::SizeMode );
|
||||
|
||||
void setBorderColor( const QColor& );
|
||||
void setBorderColors( const QColor& left, const QColor& top,
|
||||
const QColor& right, const QColor& bottom );
|
||||
void setBorderGradient( const QskGradient& );
|
||||
void setBorderGradients( const QskGradient& left, const QskGradient& top,
|
||||
const QskGradient& right, const QskGradient& bottom );
|
||||
|
||||
void setBorderWidth( int );
|
||||
void setBorderWidth( qreal left, qreal top, qreal right, qreal bottom );
|
||||
|
|
|
@ -232,25 +232,25 @@ static void addRectangles10( QskLinearBox* parent )
|
|||
|
||||
box = new Box( parent );
|
||||
box->setBorderWidth( 10 );
|
||||
box->setBorderColor( borderTheme );
|
||||
box->setBorderGradient( borderTheme );
|
||||
box->setGradient( QskGradient::Diagonal, "DeepPink", "DarkOrange", "HotPink" );
|
||||
|
||||
box = new Box( parent );
|
||||
box->setShape( 100, Qt::RelativeSize );
|
||||
box->setBorderWidth( 5 );
|
||||
box->setBorderColor( borderTheme );
|
||||
box->setBorderGradient( borderTheme );
|
||||
box->setGradient( QskGradient::Vertical, "DeepPink", "DarkOrange", "HotPink" );
|
||||
|
||||
box = new Box( parent );
|
||||
box->setShape( 100, Qt::RelativeSize );
|
||||
box->setBorderWidth( 5 );
|
||||
box->setBorderColor( borderTheme );
|
||||
box->setBorderGradient( borderTheme );
|
||||
box->setGradient( QskGradient::Diagonal, "DeepPink", "DarkOrange", "HotPink" );
|
||||
|
||||
box = new Box( parent );
|
||||
box->setShape( 100, Qt::RelativeSize );
|
||||
box->setBorderWidth( 5, 20, 30, 5 );
|
||||
box->setBorderColor( borderTheme );
|
||||
box->setBorderGradient( borderTheme );
|
||||
box->setGradient( QskGradient::Vertical, "DeepPink", "DarkOrange", "HotPink" );
|
||||
}
|
||||
|
||||
|
@ -333,32 +333,41 @@ static void addRectanglesRest( QskLinearBox* parent )
|
|||
|
||||
box = new Box( parent );
|
||||
box->setBorderWidth( 20, 0, 40, 0 );
|
||||
box->setBorderColor( "DarkSeaGreen" );
|
||||
box->setBorderGradient( { "DarkSeaGreen" } );
|
||||
|
||||
box = new Box( parent );
|
||||
box->setShape( 40, Qt::RelativeSize );
|
||||
box->setBorderWidth( 20, 10, 30, 15 );
|
||||
box->setBorderColor( "DarkOrange" );
|
||||
box->setBorderGradient( { "DarkOrange" } );
|
||||
box->setGradient( QskGradient::Vertical, "LightSteelBlue", "SteelBlue" );
|
||||
|
||||
box = new Box( parent );
|
||||
box->setBorderWidth( 20, 0, 10, 20 );
|
||||
box->setBorderColor( "MediumSeaGreen" );
|
||||
box->setBorderGradient( { "MediumSeaGreen" } );
|
||||
box->setGradient( "DodgerBlue" );
|
||||
|
||||
box = new Box( parent );
|
||||
box->setShape( 20, Qt::AbsoluteSize );
|
||||
box->setBorderWidth( 2, 10, 40, 2 );
|
||||
box->setBorderColor( "Crimson" );
|
||||
box->setBorderGradient( { "Crimson" } );
|
||||
box->setGradient( QskRgb::WhiteSmoke );
|
||||
|
||||
box = new Box( parent );
|
||||
box->setShape( 100, Qt::RelativeSize );
|
||||
box->setBorderWidth( 5, 20, 5, 0 );
|
||||
box->setBorderColor( "CadetBlue" );
|
||||
box->setBorderGradient( { "CadetBlue" } );
|
||||
box->setGradient( QskGradient::Vertical, "Gainsboro", "Seashell", "LightGray" );
|
||||
}
|
||||
|
||||
static void addColoredBorderRectangles( QskLinearBox* parent )
|
||||
{
|
||||
Box* box;
|
||||
|
||||
box = new Box( parent );
|
||||
box->setBorderWidth( 20 );
|
||||
box->setBorderGradient( { Qt::Vertical, Qt::magenta, Qt::cyan } );
|
||||
}
|
||||
|
||||
class TabView : public QskTabView
|
||||
{
|
||||
public:
|
||||
|
@ -399,6 +408,12 @@ class TabView : public QskTabView
|
|||
addTab( tab4 );
|
||||
//setCurrentIndex( count() - 1 ); // setCurrentTab( tab4 ) -> TODO
|
||||
#endif
|
||||
|
||||
auto* tab5 = new QskLinearBox( Qt::Horizontal );
|
||||
addColoredBorderRectangles( tab5 );
|
||||
|
||||
addTab( tab5 );
|
||||
setCurrentIndex( count() - 1 );
|
||||
}
|
||||
|
||||
private:
|
||||
|
|
Loading…
Reference in New Issue