All Classes Namespaces Functions Variables Enumerations Properties Pages
blitrect.cpp
1 /*
2 
3 Pencil2D - Traditional Animation Software
4 Copyright (C) 2005-2007 Patrick Corrieri & Pascal Naidon
5 Copyright (C) 2012-2020 Matthew Chiawen Chang
6 
7 This program is free software; you can redistribute it and/or
8 modify it under the terms of the GNU General Public License
9 as published by the Free Software Foundation; version 2 of the License.
10 
11 This program is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
15 
16 */
17 
18 #include "blitrect.h"
19 
20 BlitRect::BlitRect()
21 {
22 }
23 
24 BlitRect::BlitRect(const QRect rect)
25 {
26  setTopLeft(rect.topLeft());
28  mInitialized = true;
29 }
30 
31 BlitRect::BlitRect(const QPoint p)
32 {
33  extend(p);
34 }
35 
36 void BlitRect::extend(const QPoint p)
37 {
38  if (mInitialized == false)
39  {
40  setBottomLeft(p);
41  setTopRight(p);
42  mInitialized = true;
43  }
44  else
45  {
46  if (left() > p.x()) { setLeft(p.x()); }
47  if (right() < p.x()) { setRight(p.x()); }
48  if (top() > p.y()) { setTop(p.y()); }
49  if (bottom() < p.y()) { setBottom(p.y()); }
50  }
51 }
void setTopRight(const QPoint &position)
void setBottom(int y)
void setBottomRight(const QPoint &position)
int right() const const
QPoint bottomRight() const const
int x() const const
int y() const const
int top() const const
void setTop(int y)
int left() const const
void setTopLeft(const QPoint &position)
void setRight(int x)
int bottom() const const
QPoint topLeft() const const
void setLeft(int x)
void setBottomLeft(const QPoint &position)