![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
#include "shapes.h"
#include <cmath>
#include <iostream>
const Color Color::blackColor = Color(0., 0., 0.);
const Color Color::whiteColor = Color(1., 1., 1.);
const Color Color::grayColor = Color(.5,.5,.5);
////////////////////////////////////////////////////////////////////////////////
ColorChannel::ColorChannel(double value)
: value(bounded(value, maxValue))
{}
ColorChannel::operator double() const
{
return value;
}
ColorChannel& ColorChannel::operator = (double v)
{
value = bounded(v, maxValue);
return *this;
}
Color::Color(ColorChannel red, ColorChannel green, ColorChannel blue,
ColorChannel alpha)
: red(red), green(green), blue(blue), alpha(alpha)
{}
DrawStyle::DrawStyle(Color lineColor, Color fillColor)
: lineColor(lineColor), fillColor(fillColor)
{}
Figure::~ Figure () {}
DrawStyle& Figure:: getStyle ()
{
return style;
}
const DrawStyle& Figure:: getStyle () const
{
return style;
}
Rectangle::Rectangle(const Vector2D& p1, const Vector2D& p2)
{
setBounds (p1, p2);
}
void Rectangle:: setBounds (const Vector2D& p1, const Vector2D& p2)
{
center = (p1 + p2) * 0.5;
size = (p1 - p2).makePositive();
}
void Rectangle:: move (const Vector2D& destination)
{
center = destination;
}
bool Rectangle:: belongs (const Vector2D& p)
{
Vector2D p1 = center - size * 0.5;
Vector2D p2 = center + size * 0.5;
return ((p1[X] <= p[X]) && (p1[Y] <= p[Y]) &&
(p2[X] >= p[X]) && (p2[Y] >= p[Y]));
}
Додаток В-2. Розвиток ієрархії для рисування засобами Qt
Дата публикования: 2015-03-26; Прочитано: 146 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!