| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- // This file is part of Desktop App Toolkit,
- // a set of libraries for developing nice desktop applications.
- //
- // For license and copyright information please follow this link:
- // https://github.com/desktop-app/legal/blob/master/LEGAL
- //
- #include "ui/widgets/box_content_divider.h"
- #include "styles/style_layers.h"
- #include "styles/palette.h"
- #include <QtGui/QPainter>
- #include <QtGui/QtEvents>
- namespace Ui {
- BoxContentDivider::BoxContentDivider(QWidget *parent)
- : BoxContentDivider(parent, st::boxDividerHeight) {
- }
- BoxContentDivider::BoxContentDivider(QWidget *parent, int height)
- : BoxContentDivider(parent, height, st::boxDividerBg) {
- }
- BoxContentDivider::BoxContentDivider(
- QWidget *parent,
- int height,
- const style::color &bg,
- RectParts parts)
- : RpWidget(parent)
- , _bg(bg)
- , _parts(parts) {
- resize(width(), height);
- }
- void BoxContentDivider::paintEvent(QPaintEvent *e) {
- QPainter p(this);
- p.fillRect(e->rect(), _bg);
- if (_parts & RectPart::Top) {
- paintTop(p);
- }
- if (_parts & RectPart::Bottom) {
- paintBottom(p);
- }
- }
- void BoxContentDivider::paintTop(QPainter &p, int skip) {
- const auto dividerFillTop = QRect(
- 0,
- skip,
- width(),
- st::boxDividerTop.height());
- st::boxDividerTop.fill(p, dividerFillTop);
- }
- void BoxContentDivider::paintBottom(QPainter &p, int skip) {
- const auto dividerFillBottom = myrtlrect(
- 0,
- height() - skip - st::boxDividerBottom.height(),
- width(),
- st::boxDividerBottom.height());
- st::boxDividerBottom.fill(p, dividerFillBottom);
- }
- const style::color &BoxContentDivider::color() const {
- return _bg;
- }
- } // namespace Ui
|