GithubHelp home page GithubHelp logo

c-koi / libboard Goto Github PK

View Code? Open in Web Editor NEW
50.0 12.0 16.0 1.04 MB

A vector graphics C++ library to produce EPS, SVG, and FIG files.

License: GNU Lesser General Public License v3.0

CMake 1.06% C++ 98.93% Makefile 0.01%

libboard's Issues

Create SVG file from string object

Does your library support the ability to get a string and create SVG file from it? after that i need to insert the svg element to buffer.

Like this:

SVG doc;
doc.loadByString("<svg><text x='0' y='15' fill='red'> SVG </text></svg>"));

//now, doc include  SVG file

Bitmap buffer= doc.data();

//now, buffer contain svg file 

Warnings when compiling libboard, on Ubuntu 20.04 LTS (focal)

Trying to compile libboard from the git repo gives me a lot of warnings
(gcc version 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.1):

$ git clone https://github.com/c-koi/libboard.git
$ cd libboard
$ ./configure
Configuring build of LibBoard version 0.9.5
Looking for ImageMagick C++ API..../configure: 1: Magick++-config: not found
Not found
Looking for doxygen...Not found
Checking that compiler supports C++11...yes
Looking for gzip...Found
Checking for 64 bits architecture...yes
Checking plateform...Linux
Creating include/BoardConfig.h...done.
Creating Makefile...done.

*******************************[ Warning ]**************************************
ImageMagick C++ API (Magick++) was not found. Hence inclusion of bitmap images
will be possible only in SVG files (not in Postscript or FIG files). You may
continue, or install Magick++ for full support of images.


Possible commands are:
 make
 make install      (Will install in /usr/include and /usr/lib )
 make doc
 make install-doc  (Will install in /usr/share/doc/libboard)

First, the warning is strange : I have both libmagick++ and libgraphicsmagick++ installed on my system.

$ locate libmagick++ | head -n5
/usr/share/bug/libmagick++-6-headers
/usr/share/bug/libmagick++-6.q16-8
/usr/share/bug/libmagick++-6.q16-dev
/usr/share/bug/libmagick++-dev
/usr/share/doc/libmagick++-6-headers

and

$ locate libgraphicsmagick++ | head -n5
/usr/share/doc/libgraphicsmagick++-q16-12
/usr/share/doc/libgraphicsmagick++1-dev
/usr/share/doc/libgraphicsmagick++-q16-12/changelog.Debian.gz
/usr/share/doc/libgraphicsmagick++-q16-12/copyright
/usr/share/doc/libgraphicsmagick++1-dev/changelog.Debian.gz

Trying to compile anyway, I get these warnings, if you are interested :

$ make >& log.txt
$ cat log.txt
g++ -O3 --std=c++11 -pedantic -Wall -W   -I./include -fPIC  -c -o obj/PSFonts.o src/PSFonts.cpp
g++ -O3 --std=c++11 -pedantic -Wall -W   -I./include -fPIC  -c -o obj/Color.o src/Color.cpp
g++ -O3 --std=c++11 -pedantic -Wall -W   -I./include -fPIC  -c -o obj/Image.o src/Image.cpp
src/Image.cpp: In member function ‘virtual LibBoard::Shape& LibBoard::Image::rotate(double)’:
src/Image.cpp:102:55: warning: implicitly-declared ‘LibBoard::Point& LibBoard::Point::operator=(const LibBoard::Point&)’ is deprecated [-Wdeprecated-copy]
  102 |   c = _transformMatrixEPS * _originalRectangle.center();
      |                                                       ^
In file included from ./include/board/Shapes.h:29,
                 from ./include/board/Image.h:28,
                 from src/Image.cpp:27:
./include/board/Point.h:57:3: note: because ‘LibBoard::Point’ has user-provided ‘LibBoard::Point::Point(const LibBoard::Point&)’
   57 |   Point( const Point & other ):x(other.x),y(other.y) { }
      |   ^~~~~
src/Image.cpp: In member function ‘virtual LibBoard::Shape& LibBoard::Image::scale(double, double)’:
src/Image.cpp:143:67: warning: implicitly-declared ‘LibBoard::Point& LibBoard::Point::operator=(const LibBoard::Point&)’ is deprecated [-Wdeprecated-copy]
  143 |   currentCenter = _transformMatrixEPS * _originalRectangle.center();
      |                                                                   ^
In file included from ./include/board/Shapes.h:29,
                 from ./include/board/Image.h:28,
                 from src/Image.cpp:27:
./include/board/Point.h:57:3: note: because ‘LibBoard::Point’ has user-provided ‘LibBoard::Point::Point(const LibBoard::Point&)’
   57 |   Point( const Point & other ):x(other.x),y(other.y) { }
      |   ^~~~~
src/Image.cpp:145:63: warning: implicitly-declared ‘LibBoard::Point& LibBoard::Point::operator=(const LibBoard::Point&)’ is deprecated [-Wdeprecated-copy]
  145 |   newCenter = _transformMatrixEPS * _originalRectangle.center();
      |                                                               ^
In file included from ./include/board/Shapes.h:29,
                 from ./include/board/Image.h:28,
                 from src/Image.cpp:27:
./include/board/Point.h:57:3: note: because ‘LibBoard::Point’ has user-provided ‘LibBoard::Point::Point(const LibBoard::Point&)’
   57 |   Point( const Point & other ):x(other.x),y(other.y) { }
      |   ^~~~~
g++ -O3 --std=c++11 -pedantic -Wall -W   -I./include -fPIC  -c -o obj/Path.o src/Path.cpp
src/Path.cpp: In member function ‘bool LibBoard::Path::isClockwise() const’:
src/Path.cpp:323:17: warning: implicitly-declared ‘LibBoard::Point& LibBoard::Point::operator=(const LibBoard::Point&)’ is deprecated [-Wdeprecated-copy]
  323 |     previous = *it;
      |                 ^~
In file included from ./include/board/Path.h:29,
                 from src/Path.cpp:27:
./include/board/Point.h:57:3: note: because ‘LibBoard::Point’ has user-provided ‘LibBoard::Point::Point(const LibBoard::Point&)’
   57 |   Point( const Point & other ):x(other.x),y(other.y) { }
      |   ^~~~~
g++ -O3 --std=c++11 -pedantic -Wall -W   -I./include -fPIC  -c -o obj/ShapeList.o src/ShapeList.cpp
src/ShapeList.cpp: In member function ‘virtual LibBoard::ShapeList& LibBoard::ShapeList::scale(double, double)’:
src/ShapeList.cpp:413:30: warning: implicitly-declared ‘LibBoard::Point& LibBoard::Point::operator=(const LibBoard::Point&)’ is deprecated [-Wdeprecated-copy]
  413 |     delta = (*i)->center() - c;
      |                              ^
In file included from ./include/board/Shapes.h:29,
                 from ./include/board/ShapeList.h:34,
                 from src/ShapeList.cpp:28:
./include/board/Point.h:57:3: note: because ‘LibBoard::Point’ has user-provided ‘LibBoard::Point::Point(const LibBoard::Point&)’
   57 |   Point( const Point & other ):x(other.x),y(other.y) { }
      |   ^~~~~
src/ShapeList.cpp:417:42: warning: implicitly-declared ‘LibBoard::Point& LibBoard::Point::operator=(const LibBoard::Point&)’ is deprecated [-Wdeprecated-copy]
  417 |     delta = ( c + delta ) - (*i)->center();
      |                                          ^
In file included from ./include/board/Shapes.h:29,
                 from ./include/board/ShapeList.h:34,
                 from src/ShapeList.cpp:28:
./include/board/Point.h:57:3: note: because ‘LibBoard::Point’ has user-provided ‘LibBoard::Point::Point(const LibBoard::Point&)’
   57 |   Point( const Point & other ):x(other.x),y(other.y) { }
      |   ^~~~~
src/ShapeList.cpp: In member function ‘virtual LibBoard::Group& LibBoard::Group::scale(double, double)’:
src/ShapeList.cpp:767:55: warning: implicitly-declared ‘LibBoard::Point& LibBoard::Point::operator=(const LibBoard::Point&)’ is deprecated [-Wdeprecated-copy]
  767 |   delta = ( center() + delta ) - _clippingPath.center();
      |                                                       ^
In file included from ./include/board/Shapes.h:29,
                 from ./include/board/ShapeList.h:34,
                 from src/ShapeList.cpp:28:
./include/board/Point.h:57:3: note: because ‘LibBoard::Point’ has user-provided ‘LibBoard::Point::Point(const LibBoard::Point&)’
   57 |   Point( const Point & other ):x(other.x),y(other.y) { }
      |   ^~~~~
src/ShapeList.cpp: In member function ‘virtual LibBoard::Group& LibBoard::Group::scale(double)’:
src/ShapeList.cpp:779:55: warning: implicitly-declared ‘LibBoard::Point& LibBoard::Point::operator=(const LibBoard::Point&)’ is deprecated [-Wdeprecated-copy]
  779 |   delta = ( center() + delta ) - _clippingPath.center();
      |                                                       ^
In file included from ./include/board/Shapes.h:29,
                 from ./include/board/ShapeList.h:34,
                 from src/ShapeList.cpp:28:
./include/board/Point.h:57:3: note: because ‘LibBoard::Point’ has user-provided ‘LibBoard::Point::Point(const LibBoard::Point&)’
   57 |   Point( const Point & other ):x(other.x),y(other.y) { }
      |   ^~~~~
g++ -O3 --std=c++11 -pedantic -Wall -W   -I./include -fPIC  -c -o obj/PathBoundaries.o src/PathBoundaries.cpp
src/PathBoundaries.cpp: In function ‘LibBoard::Point LibBoard::Tools::exteriorMiterIntersection(LibBoard::Point, LibBoard::Point, LibBoard::Point, double)’:
src/PathBoundaries.cpp:76:15: warning: implicitly-declared ‘LibBoard::Point& LibBoard::Point::operator=(const LibBoard::Point&)’ is deprecated [-Wdeprecated-copy]
   76 |     shiftA = -shiftA;
      |               ^~~~~~
In file included from ./include/board/PathBoundaries.h:30,
                 from src/PathBoundaries.cpp:27:
./include/board/Point.h:57:3: note: because ‘LibBoard::Point’ has user-provided ‘LibBoard::Point::Point(const LibBoard::Point&)’
   57 |   Point( const Point & other ):x(other.x),y(other.y) { }
      |   ^~~~~
src/PathBoundaries.cpp:77:15: warning: implicitly-declared ‘LibBoard::Point& LibBoard::Point::operator=(const LibBoard::Point&)’ is deprecated [-Wdeprecated-copy]
   77 |     shiftB = -shiftB;
      |               ^~~~~~
In file included from ./include/board/PathBoundaries.h:30,
                 from src/PathBoundaries.cpp:27:
./include/board/Point.h:57:3: note: because ‘LibBoard::Point’ has user-provided ‘LibBoard::Point::Point(const LibBoard::Point&)’
   57 |   Point( const Point & other ):x(other.x),y(other.y) { }
      |   ^~~~~
src/PathBoundaries.cpp: In function ‘LibBoard::Point LibBoard::Tools::interiorMiterIntersection(LibBoard::Point, LibBoard::Point, LibBoard::Point, double)’:
src/PathBoundaries.cpp:98:15: warning: implicitly-declared ‘LibBoard::Point& LibBoard::Point::operator=(const LibBoard::Point&)’ is deprecated [-Wdeprecated-copy]
   98 |     shiftA = -shiftA;
      |               ^~~~~~
In file included from ./include/board/PathBoundaries.h:30,
                 from src/PathBoundaries.cpp:27:
./include/board/Point.h:57:3: note: because ‘LibBoard::Point’ has user-provided ‘LibBoard::Point::Point(const LibBoard::Point&)’
   57 |   Point( const Point & other ):x(other.x),y(other.y) { }
      |   ^~~~~
src/PathBoundaries.cpp:99:15: warning: implicitly-declared ‘LibBoard::Point& LibBoard::Point::operator=(const LibBoard::Point&)’ is deprecated [-Wdeprecated-copy]
   99 |     shiftB = -shiftB;
      |               ^~~~~~
In file included from ./include/board/PathBoundaries.h:30,
                 from src/PathBoundaries.cpp:27:
./include/board/Point.h:57:3: note: because ‘LibBoard::Point’ has user-provided ‘LibBoard::Point::Point(const LibBoard::Point&)’
   57 |   Point( const Point & other ):x(other.x),y(other.y) { }
      |   ^~~~~
src/PathBoundaries.cpp: In function ‘void LibBoard::Tools::exteriorBevelIntersection(LibBoard::Point, LibBoard::Point, LibBoard::Point, double, LibBoard::Point&, LibBoard::Point&)’:
src/PathBoundaries.cpp:116:62: warning: implicitly-declared ‘LibBoard::Point& LibBoard::Point::operator=(const LibBoard::Point&)’ is deprecated [-Wdeprecated-copy]
  116 |     shiftA = - 0.5 * strokeWidth * va.rotatedPI2().normalise();
      |                                                              ^
In file included from ./include/board/PathBoundaries.h:30,
                 from src/PathBoundaries.cpp:27:
./include/board/Point.h:57:3: note: because ‘LibBoard::Point’ has user-provided ‘LibBoard::Point::Point(const LibBoard::Point&)’
   57 |   Point( const Point & other ):x(other.x),y(other.y) { }
      |   ^~~~~
src/PathBoundaries.cpp:117:62: warning: implicitly-declared ‘LibBoard::Point& LibBoard::Point::operator=(const LibBoard::Point&)’ is deprecated [-Wdeprecated-copy]
  117 |     shiftB = - 0.5 * strokeWidth * vb.rotatedPI2().normalise();
      |                                                              ^
In file included from ./include/board/PathBoundaries.h:30,
                 from src/PathBoundaries.cpp:27:
./include/board/Point.h:57:3: note: because ‘LibBoard::Point’ has user-provided ‘LibBoard::Point::Point(const LibBoard::Point&)’
   57 |   Point( const Point & other ):x(other.x),y(other.y) { }
      |   ^~~~~
src/PathBoundaries.cpp:120:60: warning: implicitly-declared ‘LibBoard::Point& LibBoard::Point::operator=(const LibBoard::Point&)’ is deprecated [-Wdeprecated-copy]
  120 |     shiftA = 0.5 * strokeWidth * va.rotatedPI2().normalise();
      |                                                            ^
In file included from ./include/board/PathBoundaries.h:30,
                 from src/PathBoundaries.cpp:27:
./include/board/Point.h:57:3: note: because ‘LibBoard::Point’ has user-provided ‘LibBoard::Point::Point(const LibBoard::Point&)’
   57 |   Point( const Point & other ):x(other.x),y(other.y) { }
      |   ^~~~~
src/PathBoundaries.cpp:121:60: warning: implicitly-declared ‘LibBoard::Point& LibBoard::Point::operator=(const LibBoard::Point&)’ is deprecated [-Wdeprecated-copy]
  121 |     shiftB = 0.5 * strokeWidth * vb.rotatedPI2().normalise();
      |                                                            ^
In file included from ./include/board/PathBoundaries.h:30,
                 from src/PathBoundaries.cpp:27:
./include/board/Point.h:57:3: note: because ‘LibBoard::Point’ has user-provided ‘LibBoard::Point::Point(const LibBoard::Point&)’
   57 |   Point( const Point & other ):x(other.x),y(other.y) { }
      |   ^~~~~
src/PathBoundaries.cpp:123:12: warning: implicitly-declared ‘LibBoard::Point& LibBoard::Point::operator=(const LibBoard::Point&)’ is deprecated [-Wdeprecated-copy]
  123 |   a = p2 + shiftA;
      |            ^~~~~~
In file included from ./include/board/PathBoundaries.h:30,
                 from src/PathBoundaries.cpp:27:
./include/board/Point.h:57:3: note: because ‘LibBoard::Point’ has user-provided ‘LibBoard::Point::Point(const LibBoard::Point&)’
   57 |   Point( const Point & other ):x(other.x),y(other.y) { }
      |   ^~~~~
src/PathBoundaries.cpp:124:12: warning: implicitly-declared ‘LibBoard::Point& LibBoard::Point::operator=(const LibBoard::Point&)’ is deprecated [-Wdeprecated-copy]
  124 |   b = p2 + shiftB;
      |            ^~~~~~
In file included from ./include/board/PathBoundaries.h:30,
                 from src/PathBoundaries.cpp:27:
./include/board/Point.h:57:3: note: because ‘LibBoard::Point’ has user-provided ‘LibBoard::Point::Point(const LibBoard::Point&)’
   57 |   Point( const Point & other ):x(other.x),y(other.y) { }
      |   ^~~~~
src/PathBoundaries.cpp: In function ‘std::vector<LibBoard::Point> LibBoard::Tools::exteriorRoundIntersection(LibBoard::Point, LibBoard::Point, LibBoard::Point, double)’:
src/PathBoundaries.cpp:137:62: warning: implicitly-declared ‘LibBoard::Point& LibBoard::Point::operator=(const LibBoard::Point&)’ is deprecated [-Wdeprecated-copy]
  137 |     shiftA = - 0.5 * strokeWidth * va.rotatedPI2().normalise();
      |                                                              ^
In file included from ./include/board/PathBoundaries.h:30,
                 from src/PathBoundaries.cpp:27:
./include/board/Point.h:57:3: note: because ‘LibBoard::Point’ has user-provided ‘LibBoard::Point::Point(const LibBoard::Point&)’
   57 |   Point( const Point & other ):x(other.x),y(other.y) { }
      |   ^~~~~
src/PathBoundaries.cpp:138:62: warning: implicitly-declared ‘LibBoard::Point& LibBoard::Point::operator=(const LibBoard::Point&)’ is deprecated [-Wdeprecated-copy]
  138 |     shiftB = - 0.5 * strokeWidth * vb.rotatedPI2().normalise();
      |                                                              ^
In file included from ./include/board/PathBoundaries.h:30,
                 from src/PathBoundaries.cpp:27:
./include/board/Point.h:57:3: note: because ‘LibBoard::Point’ has user-provided ‘LibBoard::Point::Point(const LibBoard::Point&)’
   57 |   Point( const Point & other ):x(other.x),y(other.y) { }
      |   ^~~~~
src/PathBoundaries.cpp:140:60: warning: implicitly-declared ‘LibBoard::Point& LibBoard::Point::operator=(const LibBoard::Point&)’ is deprecated [-Wdeprecated-copy]
  140 |     shiftA = 0.5 * strokeWidth * va.rotatedPI2().normalise();
      |                                                            ^
In file included from ./include/board/PathBoundaries.h:30,
                 from src/PathBoundaries.cpp:27:
./include/board/Point.h:57:3: note: because ‘LibBoard::Point’ has user-provided ‘LibBoard::Point::Point(const LibBoard::Point&)’
   57 |   Point( const Point & other ):x(other.x),y(other.y) { }
      |   ^~~~~
src/PathBoundaries.cpp:141:60: warning: implicitly-declared ‘LibBoard::Point& LibBoard::Point::operator=(const LibBoard::Point&)’ is deprecated [-Wdeprecated-copy]
  141 |     shiftB = 0.5 * strokeWidth * vb.rotatedPI2().normalise();
      |                                                            ^
In file included from ./include/board/PathBoundaries.h:30,
                 from src/PathBoundaries.cpp:27:
./include/board/Point.h:57:3: note: because ‘LibBoard::Point’ has user-provided ‘LibBoard::Point::Point(const LibBoard::Point&)’
   57 |   Point( const Point & other ):x(other.x),y(other.y) { }
      |   ^~~~~
src/PathBoundaries.cpp: In function ‘void LibBoard::Tools::butCapExtremities(LibBoard::Point, LibBoard::Point, double, LibBoard::Point&, LibBoard::Point&)’:
src/PathBoundaries.cpp:200:56: warning: implicitly-declared ‘LibBoard::Point& LibBoard::Point::operator=(const LibBoard::Point&)’ is deprecated [-Wdeprecated-copy]
  200 |   shift = 0.5 * strokeWidth * v.rotatedPI2().normalise();
      |                                                        ^
In file included from ./include/board/PathBoundaries.h:30,
                 from src/PathBoundaries.cpp:27:
./include/board/Point.h:57:3: note: because ‘LibBoard::Point’ has user-provided ‘LibBoard::Point::Point(const LibBoard::Point&)’
   57 |   Point( const Point & other ):x(other.x),y(other.y) { }
      |   ^~~~~
src/PathBoundaries.cpp:201:12: warning: implicitly-declared ‘LibBoard::Point& LibBoard::Point::operator=(const LibBoard::Point&)’ is deprecated [-Wdeprecated-copy]
  201 |   a = p2 + shift;
      |            ^~~~~
In file included from ./include/board/PathBoundaries.h:30,
                 from src/PathBoundaries.cpp:27:
./include/board/Point.h:57:3: note: because ‘LibBoard::Point’ has user-provided ‘LibBoard::Point::Point(const LibBoard::Point&)’
   57 |   Point( const Point & other ):x(other.x),y(other.y) { }
      |   ^~~~~
src/PathBoundaries.cpp:202:12: warning: implicitly-declared ‘LibBoard::Point& LibBoard::Point::operator=(const LibBoard::Point&)’ is deprecated [-Wdeprecated-copy]
  202 |   b = p2 - shift;
      |            ^~~~~
In file included from ./include/board/PathBoundaries.h:30,
                 from src/PathBoundaries.cpp:27:
./include/board/Point.h:57:3: note: because ‘LibBoard::Point’ has user-provided ‘LibBoard::Point::Point(const LibBoard::Point&)’
   57 |   Point( const Point & other ):x(other.x),y(other.y) { }
      |   ^~~~~
src/PathBoundaries.cpp: In function ‘void LibBoard::Tools::squareCapExtremities(LibBoard::Point, LibBoard::Point, double, LibBoard::Point&, LibBoard::Point&)’:
src/PathBoundaries.cpp:213:56: warning: implicitly-declared ‘LibBoard::Point& LibBoard::Point::operator=(const LibBoard::Point&)’ is deprecated [-Wdeprecated-copy]
  213 |   shift = 0.5 * strokeWidth * v.rotatedPI2().normalise();
      |                                                        ^
In file included from ./include/board/PathBoundaries.h:30,
                 from src/PathBoundaries.cpp:27:
./include/board/Point.h:57:3: note: because ‘LibBoard::Point’ has user-provided ‘LibBoard::Point::Point(const LibBoard::Point&)’
   57 |   Point( const Point & other ):x(other.x),y(other.y) { }
      |   ^~~~~
src/PathBoundaries.cpp:214:20: warning: implicitly-declared ‘LibBoard::Point& LibBoard::Point::operator=(const LibBoard::Point&)’ is deprecated [-Wdeprecated-copy]
  214 |   a = p2 + shift + halfShift;
      |                    ^~~~~~~~~
In file included from ./include/board/PathBoundaries.h:30,
                 from src/PathBoundaries.cpp:27:
./include/board/Point.h:57:3: note: because ‘LibBoard::Point’ has user-provided ‘LibBoard::Point::Point(const LibBoard::Point&)’
   57 |   Point( const Point & other ):x(other.x),y(other.y) { }
      |   ^~~~~
src/PathBoundaries.cpp:215:20: warning: implicitly-declared ‘LibBoard::Point& LibBoard::Point::operator=(const LibBoard::Point&)’ is deprecated [-Wdeprecated-copy]
  215 |   b = p2 - shift + halfShift;
      |                    ^~~~~~~~~
In file included from ./include/board/PathBoundaries.h:30,
                 from src/PathBoundaries.cpp:27:
./include/board/Point.h:57:3: note: because ‘LibBoard::Point’ has user-provided ‘LibBoard::Point::Point(const LibBoard::Point&)’
   57 |   Point( const Point & other ):x(other.x),y(other.y) { }
      |   ^~~~~
src/PathBoundaries.cpp: In function ‘std::vector<LibBoard::Point> LibBoard::Tools::pathBoundaryPoints(const LibBoard::Path&, double, LibBoard::Shape::LineCap, LibBoard::Shape::LineJoin, double)’:
src/PathBoundaries.cpp:346:41: warning: implicitly-declared ‘LibBoard::Point& LibBoard::Point::operator=(const LibBoard::Point&)’ is deprecated [-Wdeprecated-copy]
  346 |       p = simplePath[simplePath.size()-2];
      |                                         ^
In file included from ./include/board/PathBoundaries.h:30,
                 from src/PathBoundaries.cpp:27:
./include/board/Point.h:57:3: note: because ‘LibBoard::Point’ has user-provided ‘LibBoard::Point::Point(const LibBoard::Point&)’
   57 |   Point( const Point & other ):x(other.x),y(other.y) { }
      |   ^~~~~
src/PathBoundaries.cpp:347:41: warning: implicitly-declared ‘LibBoard::Point& LibBoard::Point::operator=(const LibBoard::Point&)’ is deprecated [-Wdeprecated-copy]
  347 |       q = simplePath[simplePath.size()-1];
      |                                         ^
In file included from ./include/board/PathBoundaries.h:30,
                 from src/PathBoundaries.cpp:27:
./include/board/Point.h:57:3: note: because ‘LibBoard::Point’ has user-provided ‘LibBoard::Point::Point(const LibBoard::Point&)’
   57 |   Point( const Point & other ):x(other.x),y(other.y) { }
      |   ^~~~~
src/PathBoundaries.cpp:360:41: warning: implicitly-declared ‘LibBoard::Point& LibBoard::Point::operator=(const LibBoard::Point&)’ is deprecated [-Wdeprecated-copy]
  360 |       p = simplePath[simplePath.size()-2];
      |                                         ^
In file included from ./include/board/PathBoundaries.h:30,
                 from src/PathBoundaries.cpp:27:
./include/board/Point.h:57:3: note: because ‘LibBoard::Point’ has user-provided ‘LibBoard::Point::Point(const LibBoard::Point&)’
   57 |   Point( const Point & other ):x(other.x),y(other.y) { }
      |   ^~~~~
src/PathBoundaries.cpp:361:41: warning: implicitly-declared ‘LibBoard::Point& LibBoard::Point::operator=(const LibBoard::Point&)’ is deprecated [-Wdeprecated-copy]
  361 |       q = simplePath[simplePath.size()-1];
      |                                         ^
In file included from ./include/board/PathBoundaries.h:30,
                 from src/PathBoundaries.cpp:27:
./include/board/Point.h:57:3: note: because ‘LibBoard::Point’ has user-provided ‘LibBoard::Point::Point(const LibBoard::Point&)’
   57 |   Point( const Point & other ):x(other.x),y(other.y) { }
      |   ^~~~~
src/PathBoundaries.cpp:374:41: warning: implicitly-declared ‘LibBoard::Point& LibBoard::Point::operator=(const LibBoard::Point&)’ is deprecated [-Wdeprecated-copy]
  374 |       p = simplePath[simplePath.size()-2];
      |                                         ^
In file included from ./include/board/PathBoundaries.h:30,
                 from src/PathBoundaries.cpp:27:
./include/board/Point.h:57:3: note: because ‘LibBoard::Point’ has user-provided ‘LibBoard::Point::Point(const LibBoard::Point&)’
   57 |   Point( const Point & other ):x(other.x),y(other.y) { }
      |   ^~~~~
src/PathBoundaries.cpp:375:41: warning: implicitly-declared ‘LibBoard::Point& LibBoard::Point::operator=(const LibBoard::Point&)’ is deprecated [-Wdeprecated-copy]
  375 |       q = simplePath[simplePath.size()-1];
      |                                         ^
In file included from ./include/board/PathBoundaries.h:30,
                 from src/PathBoundaries.cpp:27:
./include/board/Point.h:57:3: note: because ‘LibBoard::Point’ has user-provided ‘LibBoard::Point::Point(const LibBoard::Point&)’
   57 |   Point( const Point & other ):x(other.x),y(other.y) { }
      |   ^~~~~
g++ -O3 --std=c++11 -pedantic -Wall -W   -I./include -fPIC  -c -o obj/Tools.o src/Tools.cpp
g++ -O3 --std=c++11 -pedantic -Wall -W   -I./include -fPIC  -c -o obj/ShapeVisitor.o src/ShapeVisitor.cpp
g++ -O3 --std=c++11 -pedantic -Wall -W   -I./include -fPIC  -c -o obj/TransformMatrix.o src/TransformMatrix.cpp
g++ -O3 --std=c++11 -pedantic -Wall -W   -I./include -fPIC  -c -o obj/Rect.o src/Rect.cpp
g++ -O3 --std=c++11 -pedantic -Wall -W   -I./include -fPIC  -c -o obj/Transforms.o src/Transforms.cpp
g++ -O3 --std=c++11 -pedantic -Wall -W   -I./include -fPIC  -c -o obj/Exception.o src/Exception.cpp
g++ -O3 --std=c++11 -pedantic -Wall -W   -I./include -fPIC  -c -o obj/Board.o src/Board.cpp
src/Board.cpp: In member function ‘virtual LibBoard::Board& LibBoard::Board::scale(double, double)’:
src/Board.cpp:165:57: warning: implicitly-declared ‘LibBoard::Point& LibBoard::Point::operator=(const LibBoard::Point&)’ is deprecated [-Wdeprecated-copy]
  165 |     delta = ( center() + delta ) - _clippingPath.center();
      |                                                         ^
In file included from ./include/Board.h:35,
                 from src/Board.cpp:27:
./include/board/Point.h:57:3: note: because ‘LibBoard::Point’ has user-provided ‘LibBoard::Point::Point(const LibBoard::Point&)’
   57 |   Point( const Point & other ):x(other.x),y(other.y) { }
      |   ^~~~~
src/Board.cpp: In member function ‘virtual LibBoard::Board& LibBoard::Board::scale(double)’:
src/Board.cpp:181:57: warning: implicitly-declared ‘LibBoard::Point& LibBoard::Point::operator=(const LibBoard::Point&)’ is deprecated [-Wdeprecated-copy]
  181 |     delta = ( center() + delta ) - _clippingPath.center();
      |                                                         ^
In file included from ./include/Board.h:35,
                 from src/Board.cpp:27:
./include/board/Point.h:57:3: note: because ‘LibBoard::Point’ has user-provided ‘LibBoard::Point::Point(const LibBoard::Point&)’
   57 |   Point( const Point & other ):x(other.x),y(other.y) { }
      |   ^~~~~
In file included from /usr/include/string.h:495,
                 from /usr/include/c++/9/cstring:42,
                 from ./include/board/Tools.h:31,
                 from ./include/board/Color.h:32,
                 from ./include/board/Shapes.h:32,
                 from ./include/Board.h:37,
                 from src/Board.cpp:27:
In function ‘char* strncpy(char*, const char*, size_t)’,
    inlined from ‘void LibBoard::Tools::secured_ctime(char*, const time_t*, size_t)’ at ./include/board/Tools.ih:45:10,
    inlined from ‘void LibBoard::Board::saveEPS(std::ostream&, double, double, double, LibBoard::Board::Unit, const string&) const’ at src/Board.cpp:815:25:
/usr/include/x86_64-linux-gnu/bits/string_fortified.h:106:34: warning: ‘char* __builtin_strncpy(char*, const char*, long unsigned int)’ specified bound 255 equals destination size [-Wstringop-truncation]
  106 |   return __builtin___strncpy_chk (__dest, __src, __len, __bos (__dest));
      |          ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
g++ -O3 --std=c++11 -pedantic -Wall -W   -I./include -fPIC  -c -o obj/Point.o src/Point.cpp
g++ -O3 --std=c++11 -pedantic -Wall -W   -I./include -fPIC  -c -o obj/Shapes.o src/Shapes.cpp
src/Shapes.cpp: In member function ‘virtual LibBoard::Ellipse& LibBoard::Ellipse::rotate(double, const LibBoard::Point&)’:
src/Shapes.cpp:930:13: warning: implicitly-declared ‘LibBoard::Point& LibBoard::Point::operator=(const LibBoard::Point&)’ is deprecated [-Wdeprecated-copy]
  930 |   _center = rc;
      |             ^~
In file included from ./include/board/Shapes.h:29,
                 from src/Shapes.cpp:27:
./include/board/Point.h:57:3: note: because ‘LibBoard::Point’ has user-provided ‘LibBoard::Point::Point(const LibBoard::Point&)’
   57 |   Point( const Point & other ):x(other.x),y(other.y) { }
      |   ^~~~~
src/Shapes.cpp: In member function ‘LibBoard::Path LibBoard::Bezier::discretizedPath() const’:
src/Shapes.cpp:2174:36: warning: implicitly-declared ‘LibBoard::Point& LibBoard::Point::operator=(const LibBoard::Point&)’ is deprecated [-Wdeprecated-copy]
 2174 |     p1 = Point(iPoint->x, iPoint->y);
      |                                    ^
In file included from ./include/board/Shapes.h:29,
                 from src/Shapes.cpp:27:
./include/board/Point.h:57:3: note: because ‘LibBoard::Point’ has user-provided ‘LibBoard::Point::Point(const LibBoard::Point&)’
   57 |   Point( const Point & other ):x(other.x),y(other.y) { }
      |   ^~~~~
src/Shapes.cpp:2203:20: warning: implicitly-declared ‘LibBoard::Point& LibBoard::Point::operator=(const LibBoard::Point&)’ is deprecated [-Wdeprecated-copy]
 2203 |         previous = current;
      |                    ^~~~~~~
In file included from ./include/board/Shapes.h:29,
                 from src/Shapes.cpp:27:
./include/board/Point.h:57:3: note: because ‘LibBoard::Point’ has user-provided ‘LibBoard::Point::Point(const LibBoard::Point&)’
   57 |   Point( const Point & other ):x(other.x),y(other.y) { }
      |   ^~~~~
src/Shapes.cpp:2216:10: warning: implicitly-declared ‘LibBoard::Point& LibBoard::Point::operator=(const LibBoard::Point&)’ is deprecated [-Wdeprecated-copy]
 2216 |     p0 = p1;
      |          ^~
In file included from ./include/board/Shapes.h:29,
                 from src/Shapes.cpp:27:
./include/board/Point.h:57:3: note: because ‘LibBoard::Point’ has user-provided ‘LibBoard::Point::Point(const LibBoard::Point&)’
   57 |   Point( const Point & other ):x(other.x),y(other.y) { }
      |   ^~~~~
rm -f lib/libboard.a
ar rsv lib/libboard.a obj/PSFonts.o obj/Color.o obj/Image.o obj/Path.o obj/ShapeList.o obj/PathBoundaries.o obj/Tools.o obj/ShapeVisitor.o obj/TransformMatrix.o obj/Rect.o obj/Transforms.o obj/Exception.o obj/Board.o obj/Point.o obj/Shapes.o
ar: creating lib/libboard.a
a - obj/PSFonts.o
a - obj/Color.o
a - obj/Image.o
a - obj/Path.o
a - obj/ShapeList.o
a - obj/PathBoundaries.o
a - obj/Tools.o
a - obj/ShapeVisitor.o
a - obj/TransformMatrix.o
a - obj/Rect.o
a - obj/Transforms.o
a - obj/Exception.o
a - obj/Board.o
a - obj/Point.o
a - obj/Shapes.o
chmod 644 lib/libboard.a
rm -f lib/libboard.so
g++ -o lib/libboard.so -shared obj/PSFonts.o obj/Color.o obj/Image.o obj/Path.o obj/ShapeList.o obj/PathBoundaries.o obj/Tools.o obj/ShapeVisitor.o obj/TransformMatrix.o obj/Rect.o obj/Transforms.o obj/Exception.o obj/Board.o obj/Point.o obj/Shapes.o  
chmod 755 lib/libboard.so
g++ -O3 --std=c++11 -pedantic -Wall -W   -I./include -o bin/arithmetic examples/arithmetic.cpp   lib/libboard.a
In file included from /usr/include/string.h:495,
                 from /usr/include/c++/9/cstring:42,
                 from ./include/board/Tools.h:31,
                 from ./include/board/Color.h:32,
                 from ./include/board/Shapes.h:32,
                 from ./include/Board.h:37,
                 from examples/arithmetic.cpp:12:
In function ‘char* strncpy(char*, const char*, size_t)’,
    inlined from ‘int main(int, char**)’ at ./include/board/Tools.ih:36:10:
/usr/include/x86_64-linux-gnu/bits/string_fortified.h:106:34: warning: ‘char* __builtin_strncpy(char*, const char*, long unsigned int)’ specified bound 1024 equals destination size [-Wstringop-truncation]
  106 |   return __builtin___strncpy_chk (__dest, __src, __len, __bos (__dest));
      |          ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
g++ -O3 --std=c++11 -pedantic -Wall -W   -I./include -o bin/arrows examples/arrows.cpp   lib/libboard.a
g++ -O3 --std=c++11 -pedantic -Wall -W   -I./include -o bin/bezier examples/bezier.cpp   lib/libboard.a
g++ -O3 --std=c++11 -pedantic -Wall -W   -I./include -o bin/clipping examples/clipping.cpp   lib/libboard.a
g++ -O3 --std=c++11 -pedantic -Wall -W   -I./include -o bin/ellipse examples/ellipse.cpp   lib/libboard.a
g++ -O3 --std=c++11 -pedantic -Wall -W   -I./include -o bin/example1 examples/example1.cpp   lib/libboard.a
g++ -O3 --std=c++11 -pedantic -Wall -W   -I./include -o bin/example2 examples/example2.cpp   lib/libboard.a
g++ -O3 --std=c++11 -pedantic -Wall -W   -I./include -o bin/example3 examples/example3.cpp   lib/libboard.a
g++ -O3 --std=c++11 -pedantic -Wall -W   -I./include -o bin/example4 examples/example4.cpp   lib/libboard.a
g++ -O3 --std=c++11 -pedantic -Wall -W   -I./include -o bin/fern examples/fern.cpp   lib/libboard.a
g++ -O3 --std=c++11 -pedantic -Wall -W   -I./include -o bin/flag examples/flag.cpp   lib/libboard.a
g++ -O3 --std=c++11 -pedantic -Wall -W   -I./include -o bin/graph examples/graph.cpp   lib/libboard.a
g++ -O3 --std=c++11 -pedantic -Wall -W   -I./include -o bin/holes examples/holes.cpp   lib/libboard.a
g++ -O3 --std=c++11 -pedantic -Wall -W   -I./include -o bin/images examples/images.cpp   lib/libboard.a
g++ -O3 --std=c++11 -pedantic -Wall -W   -I./include -o bin/koch examples/koch.cpp   lib/libboard.a
g++ -O3 --std=c++11 -pedantic -Wall -W   -I./include -o bin/line_segment examples/line_segment.cpp   lib/libboard.a
g++ -O3 --std=c++11 -pedantic -Wall -W   -I./include -o bin/line_style examples/line_style.cpp   lib/libboard.a
g++ -O3 --std=c++11 -pedantic -Wall -W   -I./include -o bin/logo examples/logo.cpp   lib/libboard.a
g++ -O3 --std=c++11 -pedantic -Wall -W   -I./include -o bin/ruler examples/ruler.cpp   lib/libboard.a
g++ -O3 --std=c++11 -pedantic -Wall -W   -I./include -o bin/scale_ellipse examples/scale_ellipse.cpp   lib/libboard.a
g++ -O3 --std=c++11 -pedantic -Wall -W   -I./include -o bin/stroke_path examples/stroke_path.cpp   lib/libboard.a
g++ -O3 --std=c++11 -pedantic -Wall -W   -I./include -o bin/tilings examples/tilings.cpp   lib/libboard.a
g++ -O3 --std=c++11 -pedantic -Wall -W   -I./include -o bin/traversal examples/traversal.cpp   lib/libboard.a

lines between consecutive rectangles.

Hi all,

I create a new function in Board to draw 2D images stored in vectors. I did so, by printing a rectangle for each pixel. The problem is that a wireframe(see attached) is visible in the eps images.
Is there a way to avoid that. I would love to see this feature in the library, after proper revision.
I will applied a PR #7 so you could review the code.
screenshot_20180123_150744

Installing in custom prefix still requires root provileges

trying to make install with custom prefix without root privileges results in the following error:

ldconfig
/sbin/ldconfig.real: Can't create temporary cache file /etc/ld.so.cache~: Permission denied
Makefile:60: recipe for target 'install' failed
make: *** [install] Error 1

compiling in build subdirectory does not work

I'm trying to build the library inside a subdirectory named "build" to leave the sources clean for subsequent builds but I am getting the following errors:

Creating include/BoardConfig.h...../configure: 242: ../configure: cannot create include/BoardConfig.h: Directory nonexistent

Then when trying to make:
make: *** No rule to make target 'src/Board.cpp', needed by 'obj/Board.o'. Stop.

Setup in VS Code

I am having a lot of errors setting this up in VS Code. First of all, it is giving me errors like:
C:/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lboard
collect2.exe: error: ld returned 1 exit status

and secondly, all the #inlcludes were giving me errors, and when i replaced it with the relative path for each header file then only did the errors go away. I had to do this for all the files.

Is there a doc with explaination on how to set this up in VS code or Visual Studio?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.