X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fbase%2Fimage.cpp;fp=src%2Fbase%2Fimage.cpp;h=0000000000000000000000000000000000000000;hb=9f6ad3fe0b9cb30115a5d38e8af3aebed0d70c08;hp=202bd9af62b91d044223747e648b54bb3614af98;hpb=43c13b052d069ba435277d93867380d00c04931f;p=architektonas diff --git a/src/base/image.cpp b/src/base/image.cpp deleted file mode 100644 index 202bd9a..0000000 --- a/src/base/image.cpp +++ /dev/null @@ -1,438 +0,0 @@ -// image.cpp -// -// Part of the Architektonas Project -// Originally part of QCad Community Edition by Andrew Mustun -// Extensively rewritten and refactored by James L. Hammons -// Portions copyright (C) 2001-2003 RibbonSoft -// Copyright (C) 2010 Underground Software -// See the README and GPLv2 files for licensing and warranty information -// -// JLH = James L. Hammons -// -// Who When What -// --- ---------- ----------------------------------------------------------- -// JLH 05/28/2010 Added this text. :-) -// - -#include "image.h" - -#include "constructionline.h" -#include "debug.h" -#include "graphicview.h" -#include "line.h" -#include "paintinterface.h" - -/** - * Constructor. - */ -Image::Image(EntityContainer * parent, const ImageData & d): - AtomicEntity(parent), data(d) -{ - update(); - calculateBorders(); -} - -/** - * Destructor. - */ -Image::~Image() -{ - /*if (img!=NULL) { - delete[] img; - }*/ -} - -Entity * Image::clone() -{ - Image * i = new Image(*this); - i->setHandle(getHandle()); - i->initId(); - i->update(); - return i; -} - -/** @return RS2::EntityImage */ -/*virtual*/ RS2::EntityType Image::rtti() const -{ - return RS2::EntityImage; -} - -void Image::update() -{ - DEBUG->print("Image::update"); - - // the whole image: - //QImage image = QImage(data.file); - img = QImage(data.file); - - if (!img.isNull()) - data.size = Vector(img.width(), img.height()); - - DEBUG->print("Image::update: OK"); - - /* - // number of small images: - nx = image.width()/100; - ny = image.height()/100; - - // create small images: - img = new QImage*[nx]; - RS_Pixmap pm; - int w,h; - for (int x = 0; xgetPen().getColor()==view->getBackground()) { - // VectorSolutions sol = getCorners(); - // - //} - - int ox = 0; - int oy = 0; - int width = view->getWidth(); - int height = view->getHeight(); - - Vector scale = Vector(view->toGuiDX(data.uVector.magnitude()), - view->toGuiDY(data.vVector.magnitude())); - double angle = data.uVector.angle(); - - int startX, stopX, startY, stopY; - - if (data.uVector.x > 1.0e-6 && data.vVector.y > 1.0e-6) - { - startX = (int)((view->toGraphX(ox) - data.insertionPoint.x) / data.uVector.x) - 1; - - if (startX < 0) - startX = 0; - - stopX = (int)((view->toGraphX(width) - data.insertionPoint.x) / data.uVector.x) + 1; - - if (stopX > (int)data.size.x) - stopX = (int)data.size.x; - - startY = -(int)((view->toGraphY(oy) - (data.insertionPoint.y + getImageHeight())) - / data.vVector.y) - 1; - - if (startY < 0) - startY = 0; - - stopY = -(int)((view->toGraphY(height) - (data.insertionPoint.y + getImageHeight())) - / data.vVector.y) + 1; - - if (stopY > (int)data.size.y) - stopY = (int)data.size.y; - } - else - { - startX = 0; - startY = 0; - stopX = 0; - stopY = 0; - } - - painter->drawImg(img, view->toGui(data.insertionPoint), angle, scale, - startX, startY, stopX - startX, stopY - startY); - - if (isSelected()) - { - VectorSolutions sol = getCorners(); - - painter->drawLine(view->toGui(sol.get(0)), view->toGui(sol.get(1))); - painter->drawLine(view->toGui(sol.get(1)), view->toGui(sol.get(2))); - painter->drawLine(view->toGui(sol.get(2)), view->toGui(sol.get(3))); - painter->drawLine(view->toGui(sol.get(3)), view->toGui(sol.get(0))); - } -} - -/** - * Dumps the point's data to stdout. - */ -std::ostream & operator<<(std::ostream & os, const Image & i) -{ - os << " Image: " << i.getData() << "\n"; - return os; -}