Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Shapes.cpp



#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; Прочитано: 148 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2025 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...