Студопедия
Новини освіти і науки:
МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах


РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання


ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ"


ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ


Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків


Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні


Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах


Гендерна антидискримінаційна експертиза може зробити нас моральними рабами


ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ


ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів



Qtshapes.cpp

 

#include "qtshapes.h"

 

QtRectangle::QtRectangle(const Vector2D& p1, const Vector2D& p2)

: Rectangle(p1, p2)

{}

void QtRectangle::draw(QPainter &painter) const

{

Vector2D tl = Rectangle::center - Rectangle::size * 0.5;

Color p = getStyle().lineColor;

Color f = getStyle().fillColor;

if (isSelected()) f.alpha = 0.5;

painter.setPen(QColor(p.red * 255, p.green * 255, p.blue * 255, p.alpha * 255));

painter.setBrush(QBrush(QColor(f.red * 255, f.green * 255, f.blue * 255, f.alpha * 255)));

painter.drawRect(tl[X], tl[Y], Rectangle::size[X], Rectangle::size[Y]);

}

void QtRectangle::select(bool sel)

{

QtShape2D::select(sel);

}

bool QtRectangle::isSelected() const

{

return QtShape2D::isSelected();

}

DrawStyle& QtRectangle::getStyle()

{

return Rectangle::getStyle();

}

const DrawStyle& QtRectangle::getStyle() const

{

return Rectangle::getStyle();

}

Vector2D QtRectangle::getCenter() const

{

return Rectangle::getCenter();

}

Vector2D QtRectangle::getSize() const

{

return Rectangle::getSize();

}

void QtRectangle::setBounds(const Vector2D& p1, const Vector2D& p2)

{

Rectangle::setBounds(p1, p2);

}

void QtRectangle::move(const Vector2D& destination)

{

Rectangle::move(destination);

}

bool QtRectangle::belongs(const Vector2D& p)

{

return Rectangle::belongs(p);

}

 

 

Додаток В-3. Код області рисування CanvasWidget

 

Canvaswidget.h

 

#ifndef CANVASWIDGET_H

#define CANVASWIDGET_H

#include <QWidget>

#include <QMouseEvent>

#include <QPaintEvent>

#include <vector>

#include "qtshapes.h"

class CanvasWidget : public QWidget

{

Q_OBJECT

public:

explicit CanvasWidget(QWidget *parent = 0);

~CanvasWidget();

std::vector< QtShape2D* > shapes;

QtShape2D* selected;

signals:

 

public slots:

protected:

virtual void mousePressEvent (QMouseEvent * event);

virtual void mouseMoveEvent (QMouseEvent * event);

virtual void mouseReleaseEvent (QMouseEvent * event);

virtual void paintEvent (QPaintEvent * event);

Vector2D pressedPoint;

bool creating;

};

#endif // CANVASWIDGET_H




Переглядів: 367

<== попередня сторінка | наступна сторінка ==>
Shapes.cpp | canvaswidget.cpp

Не знайшли потрібну інформацію? Скористайтесь пошуком google:

  

© studopedia.com.ua При використанні або копіюванні матеріалів пряме посилання на сайт обов'язкове.


Генерація сторінки за: 0.014 сек.