3 * This file is part of LyX, the document processor.
4 * Licence details can be found in the file COPYING.
8 * Full author contact details are available in file CREDITS
14 #include "qsetborder.h"
17 QSetBorder::QSetBorder(QWidget * parent, char const * name, WFlags fl)
18 : QWidget(parent, name, fl),
19 left_(false), right_(false), top_(false), bottom_(false), buffer(75,75)
21 /* length of corner line */
22 l = buffer.width() / 10;
24 m = buffer.height() / 10;
36 void QSetBorder::paintEvent(QPaintEvent * e)
38 QWidget::paintEvent(e);
39 bitBlt(this, 0, 0, &buffer, 0, 0, width(), height());
43 void QSetBorder::init()
48 paint.setPen(Qt::black);
50 paint.drawLine(m + l , m, m + l, m + l);
51 paint.drawLine(w - (m + l), m, w - (m + l), m + l);
53 paint.drawLine(m, m + l , m + l, m + l);
54 paint.drawLine(m, h - (m + l), m + l, h - (m + l));
56 paint.drawLine(m + l ,h - m, m + l ,h - (m + l));
57 paint.drawLine(w - (m + l), h - m, w - (m + l), h - (m + l));
59 paint.drawLine(h - m, m+l, h - (m + l), m + l);
60 paint.drawLine(h - m, h - (m + l), h - (m + l),h - (m + l));
66 void QSetBorder::mousePressEvent(QMouseEvent * e)
68 if (e->y() > e->x()) {
69 if (e->y() < height() - e->x()) {
76 emit bottomSet(bottom_);
79 if (e->y() < height() - e->x()) {
86 emit rightSet(right_);
94 void QSetBorder::drawLeft(bool draw)
100 p.setColor(draw ? Qt::black : Qt::white);
102 paint.drawLine(m + l, m + l + 2, m + l, h - m - l - 1);
107 void QSetBorder::drawRight(bool draw)
110 paint.begin(&buffer);
111 QPen p = paint.pen();
113 p.setColor(draw ? Qt::black : Qt::white);
115 paint.drawLine(h - m - l + 1, m + l + 2, h - m - l + 1, h - m - l - 1);
119 void QSetBorder::drawTop(bool draw)
122 paint.begin(&buffer);
123 QPen p = paint.pen();
125 p.setColor(draw ? Qt::black : Qt::white);
127 paint.drawLine(m + l + 2, m + l, w - m - l - 1, m + l);
131 void QSetBorder::drawBottom(bool draw)
134 paint.begin(&buffer);
135 QPen p = paint.pen();
137 p.setColor(draw ? Qt::black : Qt::white);
139 paint.drawLine(m + l + 2, w - m - l + 1, w - m - l - 1, w - m - l + 1);
143 void QSetBorder::setLeft(bool border)
149 void QSetBorder::setRight(bool border)
155 void QSetBorder::setTop(bool border)
161 void QSetBorder::setBottom(bool border)
167 void QSetBorder::setAll(bool border)
175 bool QSetBorder::getLeft()
180 bool QSetBorder::getRight()
185 bool QSetBorder::getTop()
190 bool QSetBorder::getBottom()