[gnome-games/glchess-svgchess] Use SVG themes for 2D chess pieces (patch by Alexey Kryukov)



commit ead4233f28f9a8cd1df7396fdb2015b4da562fe4
Author: Robert Ancell <robert ancell gmail com>
Date:   Mon Mar 15 09:49:26 2010 +1100

    Use SVG themes for 2D chess pieces (patch by Alexey Kryukov)

 configure.in                                       |    3 +
 glchess/data/Makefile.am                           |    2 +
 glchess/data/glchess.schemas.in                    |   12 ++++
 glchess/data/pieces/Makefile.am                    |    3 +
 glchess/data/pieces/fancy/Makefile.am              |   16 ++++++
 glchess/data/pieces/fancy/blackBishop.svg          |   24 ++++++++
 glchess/data/pieces/fancy/blackKing.svg            |   24 ++++++++
 glchess/data/pieces/fancy/blackKnight.svg          |   24 ++++++++
 glchess/data/pieces/fancy/blackPawn.svg            |   24 ++++++++
 glchess/data/pieces/fancy/blackQueen.svg           |   24 ++++++++
 glchess/data/pieces/fancy/blackRook.svg            |   24 ++++++++
 glchess/data/pieces/fancy/whiteBishop.svg          |   24 ++++++++
 glchess/data/pieces/fancy/whiteKing.svg            |   24 ++++++++
 glchess/data/pieces/fancy/whiteKnight.svg          |   24 ++++++++
 glchess/data/pieces/fancy/whitePawn.svg            |   24 ++++++++
 glchess/data/pieces/fancy/whiteQueen.svg           |   24 ++++++++
 glchess/data/pieces/fancy/whiteRook.svg            |   24 ++++++++
 .../COPYING.2D => data/pieces/simple/COPYING.html} |    0
 glchess/data/pieces/simple/Makefile.am             |   16 ++++++
 glchess/data/pieces/simple/blackBishop.svg         |   16 ++++++
 glchess/data/pieces/simple/blackKing.svg           |   16 ++++++
 glchess/data/pieces/simple/blackKnight.svg         |   16 ++++++
 glchess/data/pieces/simple/blackPawn.svg           |   16 ++++++
 glchess/data/pieces/simple/blackQueen.svg          |   16 ++++++
 glchess/data/pieces/simple/blackRook.svg           |   16 ++++++
 glchess/data/pieces/simple/whiteBishop.svg         |   16 ++++++
 glchess/data/pieces/simple/whiteKing.svg           |   16 ++++++
 glchess/data/pieces/simple/whiteKnight.svg         |   16 ++++++
 glchess/data/pieces/simple/whitePawn.svg           |   16 ++++++
 glchess/data/pieces/simple/whiteQueen.svg          |   16 ++++++
 glchess/data/pieces/simple/whiteRook.svg           |   16 ++++++
 glchess/data/preferences.ui                        |   53 ++++++++++++++++---
 glchess/src/lib/config.py                          |    1 +
 glchess/src/lib/display.py                         |   11 ++++-
 glchess/src/lib/gtkui/dialogs.py                   |   33 +++++++++++-
 glchess/src/lib/gtkui/gtkui.py                     |   10 ++--
 glchess/src/lib/scene/cairo/Makefile.am            |    3 +-
 glchess/src/lib/scene/cairo/__init__.py            |   42 +++++++++++----
 glchess/src/lib/scene/cairo/pieces.py              |   56 --------------------
 39 files changed, 658 insertions(+), 83 deletions(-)
---
diff --git a/configure.in b/configure.in
index 43d267d..ec8973f 100644
--- a/configure.in
+++ b/configure.in
@@ -1097,6 +1097,9 @@ aisleriot/rules/Makefile
 aisleriot/help/Makefile
 glchess/Makefile
 glchess/data/Makefile
+glchess/data/pieces/Makefile
+glchess/data/pieces/fancy/Makefile
+glchess/data/pieces/simple/Makefile
 glchess/gnuchess/Makefile
 glchess/help/Makefile
 glchess/src/glchess.in
diff --git a/glchess/data/Makefile.am b/glchess/data/Makefile.am
index 35ac854..e3f98cd 100644
--- a/glchess/data/Makefile.am
+++ b/glchess/data/Makefile.am
@@ -1,3 +1,5 @@
+SUBDIRS = pieces
+
 uidir = $(datadir)/glchess
 ui_DATA = \
 	chess_view.ui \
diff --git a/glchess/data/glchess.schemas.in b/glchess/data/glchess.schemas.in
index d57ded1..f5141be 100644
--- a/glchess/data/glchess.schemas.in
+++ b/glchess/data/glchess.schemas.in
@@ -98,6 +98,18 @@
     </schema>
 
     <schema>
+      <key>/schemas/apps/glchess/piece_style</key>
+      <applyto>/apps/glchess/piece_style</applyto>
+      <owner>glchess</owner>
+      <type>string</type>
+      <default>simple</default>
+      <locale name="C">
+        <short>The piece style to use</short>
+        <long>The piece style to use.  Can be one of: 'simple' or 'fancy'</long>
+      </locale>
+    </schema>
+
+    <schema>
       <key>/schemas/apps/glchess/show_move_hints</key>
       <applyto>/apps/glchess/show_move_hints</applyto>
       <owner>glchess</owner>
diff --git a/glchess/data/pieces/Makefile.am b/glchess/data/pieces/Makefile.am
new file mode 100644
index 0000000..ade34c9
--- /dev/null
+++ b/glchess/data/pieces/Makefile.am
@@ -0,0 +1,3 @@
+SUBDIRS = fancy simple
+
+-include $(top_srcdir)/git.mk
diff --git a/glchess/data/pieces/fancy/Makefile.am b/glchess/data/pieces/fancy/Makefile.am
new file mode 100644
index 0000000..a7b5eca
--- /dev/null
+++ b/glchess/data/pieces/fancy/Makefile.am
@@ -0,0 +1,16 @@
+pixmapdir = $(datadir)/glchess/pieces/fancy
+pixmap_DATA = \
+	blackKing.svg \
+	blackQueen.svg \
+	blackRook.svg \
+	blackBishop.svg \
+	blackKnight.svg \
+	blackPawn.svg \
+	whiteKing.svg \
+	whiteQueen.svg \
+	whiteRook.svg \
+	whiteBishop.svg \
+	whiteKnight.svg \
+	whitePawn.svg
+
+-include $(top_srcdir)/git.mk
diff --git a/glchess/data/pieces/fancy/blackBishop.svg b/glchess/data/pieces/fancy/blackBishop.svg
new file mode 100644
index 0000000..c81c8c5
--- /dev/null
+++ b/glchess/data/pieces/fancy/blackBishop.svg
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+	(c) 2010 Alexey Kryukov
+	
+    This work is free; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This work is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+-->
+<svg xmlns="http://www.w3.org/2000/svg"; xmlns:xlink="http://www.w3.org/1999/xlink"; width="1000pt" height="1000pt" viewBox="0 0 1000 1000" version="1.1">
+<g id="surface0">
+<path style="stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke:white;stroke-opacity:1;stroke-miterlimit:10;fill-rule:nonzero;fill:white;fill-opacity:1;" d="M 62 910 C 100 868 154 828 220 828 C 252 828 277 833 299 841 C 322 849 359 858 376 858 C 393 858 411 854 422 841 L 422 837 C 382 826 349 814 314 786 C 326 751 334 720 334 679 C 334 656 324 634 306 600 C 288 566 270 505 270 454 C 270 282 423 158 467 124 C 451 110 449 94 449 87 C 449 68 460 52 485 52 C 508 52 518 69 518 83 C 518 100 510 113 498 122 C 513 134 532 150 545 162 C 558 150 566 140 576 127 C 565 118 552 105 552 87 C 552 68 565 52 585 52 C 607 52 618 68 618 82 C 618 100 607 113 598 123 C 650 174 734 269 734 401 C 734 465 718 518 696 574 C 683 608 672 645 672 681 C 672 718 676 741 686 778 C 660 802 635 822 576 834 L 576 838 C 585 849 600 858 614 858 C 644 858 660 857 690 847 C 724 836 755 828 781 828 C 858 828 914 866 938 894 L 930 905 C 914 894 899 886 874 882 L 872 885 C 890 897 903 922 910 936 L 901
  944 C 872 912 846 884 780 884 C 754 884 724 893 695 903 C 667 913 644 916 604 916 C 562 916 528 883 502 850 L 498 850 C 480 879 446 916 406 916 C 364 916 346 912 311 900 C 291 893 265 884 236 884 C 176 884 155 900 108 944 L 99 936 C 110 917 120 904 135 891 L 132 888 C 115 893 93 904 71 921 L 62 910 "/>
+<path style="stroke:none;fill-rule:nonzero;fill:black;fill-opacity:1;" d="M 62 910 C 100 868 154 828 220 828 C 252 828 277 833 299 841 C 322 849 359 858 376 858 C 393 858 411 854 422 841 L 422 837 C 382 826 349 814 314 786 C 326 751 334 720 334 679 C 334 656 324 634 306 600 C 288 566 270 505 270 454 C 270 282 423 158 467 124 C 451 110 449 94 449 87 C 449 68 460 52 485 52 C 508 52 518 69 518 83 C 518 100 510 113 498 122 C 513 134 532 150 545 162 C 558 150 566 140 576 127 C 565 118 552 105 552 87 C 552 68 565 52 585 52 C 607 52 618 68 618 82 C 618 100 607 113 598 123 C 650 174 734 269 734 401 C 734 465 718 518 696 574 C 683 608 672 645 672 681 C 672 718 676 741 686 778 C 660 802 635 822 576 834 L 576 838 C 585 849 600 858 614 858 C 644 858 660 857 690 847 C 724 836 755 828 781 828 C 858 828 914 866 938 894 L 930 905 C 914 894 899 886 874 882 L 872 885 C 890 897 903 922 910 936 L 901 944 C 872 912 846 884 780 884 C 754 884 724 893 695 903 C 667 913 644 916 604 916 C 562 916 528
  883 502 850 L 498 850 C 480 879 446 916 406 916 C 364 916 346 912 311 900 C 291 893 265 884 236 884 C 176 884 155 900 108 944 L 99 936 C 110 917 120 904 135 891 L 132 888 C 115 893 93 904 71 921 L 62 910 M 329 780 C 340 776 348 773 355 772 C 409 758 440 750 500 750 C 560 750 591 758 645 772 C 651 773 660 776 671 780 C 671 773 666 757 663 756 C 646 746 576 728 500 728 C 424 728 354 746 337 756 C 333 757 329 773 329 780 M 335 636 C 335 643 335 645 339 652 C 356 646 364 643 375 639 C 409 627 456 620 500 620 C 544 620 591 627 625 639 C 636 643 644 646 661 652 C 665 645 665 643 665 636 C 665 617 564 596 500 596 C 436 596 335 617 335 636 M 342 731 L 345 732 C 388 692 388 682 388 678 C 388 672 372 667 348 662 C 348 686 348 706 342 731 M 364 391 C 364 402 365 410 375 410 C 381 410 392 409 407 406 C 421 403 437 401 445 401 C 457 401 460 409 460 418 L 460 529 C 460 541 462 544 482 544 C 502 544 504 541 504 529 L 504 418 C 504 409 507 401 519 401 C 527 401 543 403 557 406 C 572 409 58
 3 410 589 410 C 599 410 600 402 600 391 C 600 374 595 367 547 364 C 512 362 504 358 504 345 L 504 249 C 504 233 496 232 482 232 C 468 232 460 233 460 249 L 460 345 C 460 358 452 362 417 364 C 369 367 364 374 364 391 M 427 848 C 427 856 453 859 459 859 C 475 859 486 858 486 844 C 469 843 449 841 433 838 C 429 842 427 844 427 848 M 438 674 C 438 682 484 704 494 704 C 504 704 550 680 550 674 C 550 666 506 644 494 644 C 482 644 438 668 438 674 M 513 844 C 513 858 524 859 540 859 C 546 859 572 855 572 847 C 572 843 570 841 566 837 C 550 840 530 843 513 844 M 556 172 C 659 272 690 360 690 509 L 695 510 C 701 473 704 446 704 425 C 704 328 662 240 573 156 L 556 172 M 616 687 C 616 695 627 705 654 724 L 657 722 C 655 705 655 682 655 666 C 637 671 616 679 616 687 "/>
+</g>
+</svg>
diff --git a/glchess/data/pieces/fancy/blackKing.svg b/glchess/data/pieces/fancy/blackKing.svg
new file mode 100644
index 0000000..1d9232e
--- /dev/null
+++ b/glchess/data/pieces/fancy/blackKing.svg
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+	(c) 2010 Alexey Kryukov
+	
+    This work is free; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This work is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+-->
+<svg xmlns="http://www.w3.org/2000/svg"; xmlns:xlink="http://www.w3.org/1999/xlink"; width="1000pt" height="1000pt" viewBox="0 0 1000 1000" version="1.1">
+<g id="surface0">
+<path style="stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke:white;stroke-opacity:1;stroke-miterlimit:10;fill-rule:nonzero;fill:white;fill-opacity:1;" d="M 96 408 C 96 321 164 248 250 248 C 318 248 370 276 414 324 L 418 322 L 418 122 C 418 100 422 96 444 96 L 556 96 C 578 96 582 100 582 122 L 582 322 L 586 324 C 630 276 682 248 750 248 C 836 248 904 321 904 408 C 904 495 852 549 798 604 C 769 633 748 656 748 672 C 748 679 749 686 754 691 C 762 699 770 709 770 727 C 770 752 752 768 742 775 L 734 852 C 662 870 568 874 500 874 C 432 874 338 870 266 852 L 258 775 C 248 768 230 752 230 727 C 230 709 238 699 246 691 C 251 686 252 679 252 672 C 252 656 231 633 202 604 C 148 549 96 495 96 408 "/>
+<path style="stroke:none;fill-rule:nonzero;fill:black;fill-opacity:1;" d="M 96 408 C 96 321 164 248 250 248 C 318 248 370 276 414 324 L 418 322 L 418 122 C 418 100 422 96 444 96 L 556 96 C 578 96 582 100 582 122 L 582 322 L 586 324 C 630 276 682 248 750 248 C 836 248 904 321 904 408 C 904 495 852 549 798 604 C 769 633 748 656 748 672 C 748 679 749 686 754 691 C 762 699 770 709 770 727 C 770 752 752 768 742 775 L 734 852 C 662 870 568 874 500 874 C 432 874 338 870 266 852 L 258 775 C 248 768 230 752 230 727 C 230 709 238 699 246 691 C 251 686 252 679 252 672 C 252 656 231 633 202 604 C 148 549 96 495 96 408 M 165 411 C 165 490 188 533 259 645 C 266 656 266 666 266 677 C 328 667 416 659 479 659 C 479 473 424 299 268 299 C 207 299 165 351 165 411 M 206 446 C 206 397 238 347 288 347 C 405 347 446 514 446 628 C 398 628 344 634 287 643 C 276 617 265 596 251 576 C 225 540 206 492 206 446 M 252 535 C 262 576 288 589 305 589 C 316 589 319 584 319 576 C 319 558 294 535 252 535 M 257 7
 48 C 257 756 264 762 266 762 C 307 743 380 730 500 730 C 620 730 693 743 734 762 C 736 762 743 756 743 748 C 743 731 709 722 693 719 C 624 705 576 703 500 703 C 424 703 376 705 307 719 C 291 722 257 731 257 748 M 276 770 L 280 810 C 305 802 322 794 322 778 C 322 770 308 768 291 768 C 286 768 281 769 276 770 M 281 825 L 284 848 C 372 826 432 824 500 824 C 568 824 628 826 716 848 L 719 825 C 637 804 581 800 500 800 C 419 800 363 804 281 825 M 310 518 C 310 547 330 571 341 571 C 355 571 358 548 358 528 C 358 508 342 479 320 468 C 313 485 310 498 310 518 M 331 605 C 331 613 339 615 345 615 C 357 615 370 608 370 598 C 370 592 363 589 356 589 C 344 589 331 597 331 605 M 366 555 C 366 567 373 572 381 572 C 400 572 413 542 413 505 C 386 505 366 534 366 555 M 428 765 C 428 777 472 784 500 784 C 528 784 572 777 572 765 C 572 753 528 746 500 746 C 472 746 428 753 428 765 M 430 320 C 430 358 462 390 500 390 C 538 390 570 358 570 320 C 570 282 538 250 500 250 C 462 250 430 282 430 320 M 
 432 226 L 453 226 L 480 187 L 474 181 L 432 206 L 432 226 M 432 130 L 474 155 L 480 149 L 453 110 L 432 110 L 432 130 M 446 320 C 446 290 470 266 500 266 C 530 266 554 290 554 320 C 554 350 530 374 500 374 C 470 374 446 350 446 320 M 482 168 C 482 178 490 186 500 186 C 510 186 518 178 518 168 C 518 158 510 150 500 150 C 490 150 482 158 482 168 M 520 187 L 547 226 L 568 226 L 568 206 L 526 181 L 520 187 M 520 149 L 526 155 L 568 130 L 568 110 L 547 110 L 520 149 M 521 659 C 584 659 672 667 734 677 C 734 666 734 656 741 645 C 812 533 835 490 835 411 C 835 351 793 299 732 299 C 576 299 521 473 521 659 M 554 628 C 554 514 595 347 712 347 C 762 347 794 397 794 446 C 794 492 775 540 749 576 C 735 596 724 617 713 643 C 656 634 602 628 554 628 M 587 505 C 587 542 600 572 619 572 C 627 572 634 567 634 555 C 634 534 614 505 587 505 M 630 598 C 630 608 643 615 655 615 C 661 615 669 613 669 605 C 669 597 656 589 644 589 C 637 589 630 592 630 598 M 642 528 C 642 548 645 571 659 571 C 670
  571 690 547 690 518 C 690 498 687 485 680 468 C 658 479 642 508 642 528 M 678 778 C 678 794 695 802 720 810 L 724 770 C 719 769 714 768 709 768 C 692 768 678 770 678 778 M 681 576 C 681 584 684 589 695 589 C 712 589 738 576 748 535 C 706 535 681 558 681 576 "/>
+</g>
+</svg>
diff --git a/glchess/data/pieces/fancy/blackKnight.svg b/glchess/data/pieces/fancy/blackKnight.svg
new file mode 100644
index 0000000..9f859cd
--- /dev/null
+++ b/glchess/data/pieces/fancy/blackKnight.svg
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+	(c) 2010 Alexey Kryukov
+	
+    This work is free; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This work is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+-->
+<svg xmlns="http://www.w3.org/2000/svg"; xmlns:xlink="http://www.w3.org/1999/xlink"; width="1000pt" height="1000pt" viewBox="0 0 1000 1000" version="1.1">
+<g id="surface0">
+<path style="stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke:white;stroke-opacity:1;stroke-miterlimit:10;fill-rule:nonzero;fill:white;fill-opacity:1;" d="M 84 619 C 84 561 100 540 118 518 C 139 492 161 460 178 426 C 194 394 211 364 232 336 C 242 280 256 241 276 206 L 270 159 C 269 150 268 136 268 126 C 268 118 270 100 283 100 C 301 100 335 150 348 174 L 372 174 C 377 140 387 96 402 96 C 416 96 425 115 432 132 C 440 152 446 161 462 175 C 475 186 481 191 492 191 C 499 191 505 191 511 190 C 517 189 524 188 532 188 C 552 188 582 192 582 199 L 582 218 C 629 223 675 233 675 241 C 675 246 658 252 646 256 L 646 259 C 674 264 746 288 746 301 C 746 309 724 312 707 314 L 706 316 C 736 328 800 385 800 401 C 800 409 778 411 763 411 L 762 414 C 790 434 844 494 844 510 C 844 513 843 514 840 514 C 836 514 829 513 823 512 C 816 510 808 509 803 509 L 801 512 C 826 536 874 588 874 608 C 874 610 873 612 869 612 C 865 612 858 610 850 607 C 843 604 835 601 830 601 L 829 603 C 851 
 626 882 681 882 700 C 882 703 880 705 877 705 C 874 705 868 704 861 700 C 856 697 849 694 845 693 L 844 695 C 870 732 894 775 894 791 C 894 793 893 795 889 795 C 885 795 878 793 870 790 C 865 788 857 786 853 785 L 852 787 C 868 808 883 839 884 866 L 286 866 C 286 792 320 743 372 684 C 417 633 435 605 448 536 L 442 532 C 416 549 390 554 370 554 C 354 576 346 582 320 600 C 295 617 279 636 268 666 C 256 699 237 730 205 730 C 176 730 165 722 155 709 C 119 696 84 674 84 619 "/>
+<path style="stroke:none;fill-rule:nonzero;fill:black;fill-opacity:1;" d="M 84 619 C 84 561 100 540 118 518 C 139 492 161 460 178 426 C 194 394 211 364 232 336 C 242 280 256 241 276 206 L 270 159 C 269 150 268 136 268 126 C 268 118 270 100 283 100 C 301 100 335 150 348 174 L 372 174 C 377 140 387 96 402 96 C 416 96 425 115 432 132 C 440 152 446 161 462 175 C 475 186 481 191 492 191 C 499 191 505 191 511 190 C 517 189 524 188 532 188 C 552 188 582 192 582 199 L 582 218 C 629 223 675 233 675 241 C 675 246 658 252 646 256 L 646 259 C 674 264 746 288 746 301 C 746 309 724 312 707 314 L 706 316 C 736 328 800 385 800 401 C 800 409 778 411 763 411 L 762 414 C 790 434 844 494 844 510 C 844 513 843 514 840 514 C 836 514 829 513 823 512 C 816 510 808 509 803 509 L 801 512 C 826 536 874 588 874 608 C 874 610 873 612 869 612 C 865 612 858 610 850 607 C 843 604 835 601 830 601 L 829 603 C 851 626 882 681 882 700 C 882 703 880 705 877 705 C 874 705 868 704 861 700 C 856 697 849 694 845 69
 3 L 844 695 C 870 732 894 775 894 791 C 894 793 893 795 889 795 C 885 795 878 793 870 790 C 865 788 857 786 853 785 L 852 787 C 868 808 883 839 884 866 L 286 866 C 286 792 320 743 372 684 C 417 633 435 605 448 536 L 442 532 C 416 549 390 554 370 554 C 354 576 346 582 320 600 C 295 617 279 636 268 666 C 256 699 237 730 205 730 C 176 730 165 722 155 709 C 119 696 84 674 84 619 M 109 592 C 109 607 119 616 133 616 C 144 616 154 612 154 602 C 154 596 148 591 142 588 C 136 585 134 578 134 571 C 134 565 131 560 127 560 C 116 560 109 577 109 592 M 171 636 C 171 650 183 662 194 662 C 200 662 202 658 203 652 C 204 647 206 644 208 641 C 212 636 214 631 214 626 C 214 615 205 606 192 606 C 178 606 171 622 171 636 M 248 401 C 248 405 251 408 255 408 C 262 408 264 404 265 400 C 270 383 280 358 301 346 C 315 338 325 336 337 336 C 342 336 351 337 354 339 C 357 341 360 342 364 342 C 373 342 373 336 373 332 C 373 322 358 318 346 318 C 327 318 306 323 292 332 C 268 347 248 380 248 401 M 276 233
  C 276 237 279 238 281 238 C 287 238 290 233 293 228 C 296 222 301 216 308 216 C 313 216 313 222 313 228 C 313 234 313 240 318 240 C 323 240 327 236 330 226 C 334 214 345 206 350 206 C 353 206 354 207 354 210 C 354 214 354 217 353 221 C 352 224 352 228 352 230 C 352 233 352 236 356 236 C 360 236 363 230 365 219 C 366 210 370 198 377 188 C 361 188 341 187 329 183 C 305 195 276 215 276 233 M 292 376 C 292 385 307 387 318 387 C 332 387 344 382 344 369 C 344 361 339 354 329 351 C 310 352 292 366 292 376 M 468 234 C 784 284 806 677 806 866 L 838 866 C 838 654 797 258 474 212 L 468 234 M 476 477 C 476 480 479 482 483 482 C 496 482 529 419 529 378 C 529 351 524 298 505 298 C 498 298 494 304 494 312 C 494 322 498 333 502 343 C 509 360 510 375 510 388 C 510 419 494 451 482 465 C 479 469 476 473 476 477 M 479 530 C 479 535 484 536 493 536 C 520 536 555 521 573 505 C 599 482 612 452 612 437 C 612 429 610 423 605 423 C 598 423 594 434 589 448 C 581 470 570 484 562 492 C 539 513 522 519 
 490 523 C 483 524 479 525 479 530 M 480 504 C 480 508 482 509 486 509 C 494 509 528 484 546 458 C 561 436 572 413 572 396 C 572 390 570 385 563 385 C 553 385 550 396 548 408 C 541 444 519 473 497 487 C 491 490 480 498 480 504 "/>
+</g>
+</svg>
diff --git a/glchess/data/pieces/fancy/blackPawn.svg b/glchess/data/pieces/fancy/blackPawn.svg
new file mode 100644
index 0000000..0fd5de0
--- /dev/null
+++ b/glchess/data/pieces/fancy/blackPawn.svg
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+	(c) 2010 Alexey Kryukov
+	
+    This work is free; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This work is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+-->
+<svg xmlns="http://www.w3.org/2000/svg"; xmlns:xlink="http://www.w3.org/1999/xlink"; width="1000pt" height="1000pt" viewBox="0 0 1000 1000" version="1.1">
+<g id="surface0">
+<path style="stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke:white;stroke-opacity:1;stroke-miterlimit:10;fill-rule:nonzero;fill:white;fill-opacity:1;" d="M 278 844 C 278 779 306 716 362 672 C 397 645 413 615 413 590 C 413 578 404 571 392 562 C 379 552 350 528 350 486 C 350 456 363 428 384 408 C 403 390 420 365 420 348 C 420 338 414 335 407 335 L 367 335 C 357 335 357 331 357 327 C 357 323 361 317 364 314 L 445 228 C 448 225 452 221 452 215 C 452 209 448 204 442 199 C 433 191 426 175 426 156 C 426 121 452 86 500 86 C 548 86 574 121 574 156 C 574 175 567 191 558 199 C 552 204 548 209 548 215 C 548 221 552 225 555 228 L 636 314 C 639 317 643 323 643 327 C 643 331 643 335 633 335 L 593 335 C 586 335 580 338 580 348 C 580 365 597 390 616 408 C 637 428 650 456 650 486 C 650 528 621 552 608 562 C 596 571 587 578 587 590 C 587 615 603 645 638 672 C 694 716 722 779 722 844 C 722 852 722 857 720 866 L 280 866 C 278 857 278 852 278 844 "/>
+<path style="stroke:none;fill-rule:nonzero;fill:black;fill-opacity:1;" d="M 278 844 C 278 779 306 716 362 672 C 397 645 413 615 413 590 C 413 578 404 571 392 562 C 379 552 350 528 350 486 C 350 456 363 428 384 408 C 403 390 420 365 420 348 C 420 338 414 335 407 335 L 367 335 C 357 335 357 331 357 327 C 357 323 361 317 364 314 L 445 228 C 448 225 452 221 452 215 C 452 209 448 204 442 199 C 433 191 426 175 426 156 C 426 121 452 86 500 86 C 548 86 574 121 574 156 C 574 175 567 191 558 199 C 552 204 548 209 548 215 C 548 221 552 225 555 228 L 636 314 C 639 317 643 323 643 327 C 643 331 643 335 633 335 L 593 335 C 586 335 580 338 580 348 C 580 365 597 390 616 408 C 637 428 650 456 650 486 C 650 528 621 552 608 562 C 596 571 587 578 587 590 C 587 615 603 645 638 672 C 694 716 722 779 722 844 C 722 852 722 857 720 866 L 280 866 C 278 857 278 852 278 844 "/>
+</g>
+</svg>
diff --git a/glchess/data/pieces/fancy/blackQueen.svg b/glchess/data/pieces/fancy/blackQueen.svg
new file mode 100644
index 0000000..989dc5e
--- /dev/null
+++ b/glchess/data/pieces/fancy/blackQueen.svg
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+	(c) 2010 Alexey Kryukov
+	
+    This work is free; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This work is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+-->
+<svg xmlns="http://www.w3.org/2000/svg"; xmlns:xlink="http://www.w3.org/1999/xlink"; width="1000pt" height="1000pt" viewBox="0 0 1000 1000" version="1.1">
+<g id="surface0">
+<path style="stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke:white;stroke-opacity:1;stroke-miterlimit:10;fill-rule:nonzero;fill:white;fill-opacity:1;" d="M 54 339 C 54 316 70 300 93 300 C 116 300 132 316 132 339 C 132 344 131 352 129 356 C 127 361 126 365 126 369 C 126 375 129 382 135 389 L 225 506 C 237 522 249 538 264 538 C 281 538 287 520 287 503 L 287 311 C 287 300 285 285 270 278 C 259 273 252 258 252 247 C 252 227 266 206 289 206 C 312 206 330 221 330 245 C 330 256 326 267 319 273 C 312 279 307 285 307 294 C 307 304 310 312 315 323 L 387 488 C 393 501 400 512 414 512 C 425 512 434 508 437 492 L 487 250 C 489 241 491 229 491 221 C 491 212 491 205 480 199 C 468 192 452 182 452 156 C 452 130 474 108 500 108 C 526 108 548 130 548 156 C 548 182 532 192 520 199 C 509 205 509 212 509 221 C 509 229 511 241 513 250 L 563 492 C 566 508 575 512 586 512 C 600 512 607 501 613 488 L 685 323 C 690 312 693 304 693 294 C 693 285 688 279 681 273 C 674 267 670 256 670 245
  C 670 221 688 206 711 206 C 734 206 748 227 748 247 C 748 258 741 273 730 278 C 715 285 713 300 713 311 L 713 503 C 713 520 719 538 736 538 C 751 538 763 522 775 506 L 865 389 C 871 382 874 375 874 369 C 874 365 873 361 871 356 C 869 352 868 344 868 339 C 868 316 884 300 907 300 C 930 300 946 316 946 339 C 946 362 928 376 915 378 C 906 379 896 381 893 390 L 823 578 C 803 631 782 695 782 725 C 782 751 782 768 789 785 L 810 834 C 714 873 596 892 500 892 C 404 892 286 873 190 834 L 211 785 C 215 767 218 751 218 725 C 218 695 197 631 177 578 L 107 390 C 104 381 94 379 85 378 C 72 376 54 362 54 339 "/>
+<path style="stroke:none;fill-rule:nonzero;fill:black;fill-opacity:1;" d="M 54 339 C 54 316 70 300 93 300 C 116 300 132 316 132 339 C 132 344 131 352 129 356 C 127 361 126 365 126 369 C 126 375 129 382 135 389 L 225 506 C 237 522 249 538 264 538 C 281 538 287 520 287 503 L 287 311 C 287 300 285 285 270 278 C 259 273 252 258 252 247 C 252 227 266 206 289 206 C 312 206 330 221 330 245 C 330 256 326 267 319 273 C 312 279 307 285 307 294 C 307 304 310 312 315 323 L 387 488 C 393 501 400 512 414 512 C 425 512 434 508 437 492 L 487 250 C 489 241 491 229 491 221 C 491 212 491 205 480 199 C 468 192 452 182 452 156 C 452 130 474 108 500 108 C 526 108 548 130 548 156 C 548 182 532 192 520 199 C 509 205 509 212 509 221 C 509 229 511 241 513 250 L 563 492 C 566 508 575 512 586 512 C 600 512 607 501 613 488 L 685 323 C 690 312 693 304 693 294 C 693 285 688 279 681 273 C 674 267 670 256 670 245 C 670 221 688 206 711 206 C 734 206 748 227 748 247 C 748 258 741 273 730 278 C 715 285 713 300
  713 311 L 713 503 C 713 520 719 538 736 538 C 751 538 763 522 775 506 L 865 389 C 871 382 874 375 874 369 C 874 365 873 361 871 356 C 869 352 868 344 868 339 C 868 316 884 300 907 300 C 930 300 946 316 946 339 C 946 362 928 376 915 378 C 906 379 896 381 893 390 L 823 578 C 803 631 782 695 782 725 C 782 751 782 768 789 785 L 810 834 C 714 873 596 892 500 892 C 404 892 286 873 190 834 L 211 785 C 215 767 218 751 218 725 C 218 695 197 631 177 578 L 107 390 C 104 381 94 379 85 378 C 72 376 54 362 54 339 M 214 831 L 218 832 C 263 812 365 782 500 782 C 635 782 737 812 782 832 L 786 831 C 782 817 777 802 773 793 C 760 762 603 738 500 738 C 397 738 240 762 227 793 C 223 802 218 817 214 831 M 218 652 C 218 659 220 668 224 678 L 226 678 C 255 628 416 618 500 618 C 584 618 745 628 774 678 L 776 678 C 780 668 782 659 782 652 C 782 630 759 619 737 610 C 686 589 586 578 500 578 C 414 578 314 589 263 610 C 241 619 218 630 218 652 M 233 693 C 233 711 235 750 248 750 C 275 750 372 712 372 6
 92 C 372 683 319 676 275 676 C 260 676 233 686 233 693 M 422 680 C 422 692 480 712 500 712 C 520 712 578 692 578 680 C 578 668 520 646 500 646 C 480 646 422 668 422 680 M 628 692 C 628 712 725 750 752 750 C 765 750 767 711 767 693 C 767 686 740 676 725 676 C 681 676 628 683 628 692 "/>
+</g>
+</svg>
diff --git a/glchess/data/pieces/fancy/blackRook.svg b/glchess/data/pieces/fancy/blackRook.svg
new file mode 100644
index 0000000..83478fc
--- /dev/null
+++ b/glchess/data/pieces/fancy/blackRook.svg
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+	(c) 2010 Alexey Kryukov
+	
+    This work is free; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This work is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+-->
+<svg xmlns="http://www.w3.org/2000/svg"; xmlns:xlink="http://www.w3.org/1999/xlink"; width="1000pt" height="1000pt" viewBox="0 0 1000 1000" version="1.1">
+<g id="surface0">
+<path style="stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke:white;stroke-opacity:1;stroke-miterlimit:10;fill-rule:nonzero;fill:white;fill-opacity:1;" d="M 192 903 C 192 881 200 863 209 852 L 209 754 L 284 642 L 284 287 L 226 216 L 226 76 C 260 71 305 67 333 67 L 340 126 L 425 126 L 425 63 C 449 61 476 60 500 60 C 524 60 550 61 574 63 L 574 126 L 660 126 L 667 66 C 695 66 740 71 774 76 L 774 216 L 716 287 L 716 642 L 791 754 L 791 852 C 800 863 808 881 808 903 C 808 913 807 923 804 934 L 196 934 C 193 923 192 913 192 903 "/>
+<path style="stroke:none;fill-rule:nonzero;fill:black;fill-opacity:1;" d="M 192 903 C 192 881 200 863 209 852 L 209 754 L 284 642 L 284 287 L 226 216 L 226 76 C 260 71 305 67 333 67 L 340 126 L 425 126 L 425 63 C 449 61 476 60 500 60 C 524 60 550 61 574 63 L 574 126 L 660 126 L 667 66 C 695 66 740 71 774 76 L 774 216 L 716 287 L 716 642 L 791 754 L 791 852 C 800 863 808 881 808 903 C 808 913 807 923 804 934 L 196 934 C 193 923 192 913 192 903 M 227 842 C 227 847 227 849 228 852 L 772 852 C 773 849 773 847 773 842 C 773 837 770 832 766 828 L 234 828 C 230 832 227 837 227 842 M 250 206 C 330 194 400 189 496 189 C 592 189 670 194 750 206 L 750 150 L 250 150 L 250 206 M 256 744 C 256 747 256 751 258 754 L 742 754 C 744 751 744 747 744 744 C 744 729 738 717 719 698 L 281 698 C 262 717 256 729 256 744 M 292 674 L 708 674 C 708 665 703 656 694 650 L 644 650 L 644 586 C 660 586 676 587 692 588 L 692 564 C 656 562 618 560 580 560 L 580 478 C 620 480 659 482 692 484 L 692 460 C 677 45
 9 661 458 644 457 L 644 372 C 661 373 677 374 692 376 L 692 352 C 659 348 620 346 580 344 L 580 290 C 620 292 659 294 692 296 L 692 270 C 621 264 572 262 500 262 C 428 262 379 264 308 270 L 308 296 C 341 294 380 292 420 290 L 420 344 C 380 346 341 348 308 352 L 308 376 C 323 374 339 373 356 372 L 356 457 C 339 458 323 459 308 460 L 308 484 C 341 482 380 480 420 478 L 420 560 C 382 560 344 562 308 564 L 308 588 C 324 587 340 586 356 586 L 356 650 L 306 650 C 297 656 292 665 292 674 M 380 650 L 380 585 C 416 584 452 584 488 584 L 488 650 L 380 650 M 380 456 L 380 370 C 415 368 453 366 488 366 L 488 452 C 453 452 415 454 380 456 M 444 560 L 444 477 C 463 476 482 476 500 476 C 518 476 537 476 556 477 L 556 560 L 444 560 M 444 343 L 444 289 C 463 288 482 288 500 288 C 518 288 537 288 556 289 L 556 343 C 537 342 518 342 500 342 C 482 342 463 342 444 343 M 512 650 L 512 584 C 548 584 584 584 620 585 L 620 650 L 512 650 M 512 452 L 512 366 C 547 366 585 368 620 370 L 620 456 C 585 4
 54 547 452 512 452 "/>
+</g>
+</svg>
diff --git a/glchess/data/pieces/fancy/whiteBishop.svg b/glchess/data/pieces/fancy/whiteBishop.svg
new file mode 100644
index 0000000..ac354d5
--- /dev/null
+++ b/glchess/data/pieces/fancy/whiteBishop.svg
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+	(c) 2010 Alexey Kryukov
+	
+    This work is free; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This work is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+-->
+<svg xmlns="http://www.w3.org/2000/svg"; xmlns:xlink="http://www.w3.org/1999/xlink"; width="1000pt" height="1000pt" viewBox="0 0 1000 1000" version="1.1">
+<g id="surface0">
+<path style="stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke:white;stroke-opacity:1;stroke-miterlimit:10;fill-rule:nonzero;fill:white;fill-opacity:1;" d="M 62 910 C 100 868 154 820 220 820 C 252 820 291 828 312 836 C 334 844 370 854 387 854 C 404 854 412 851 420 842 L 420 838 C 383 828 349 814 314 786 C 326 751 334 722 334 681 C 334 658 324 634 306 600 C 288 566 270 505 270 454 C 270 282 423 158 467 124 C 451 110 449 94 449 87 C 449 68 460 52 485 52 C 508 52 518 69 518 83 C 518 100 510 113 498 122 C 513 134 532 150 545 162 C 558 150 566 140 576 127 C 565 118 552 105 552 87 C 552 68 565 52 585 52 C 607 52 618 68 618 82 C 618 100 607 113 598 123 C 650 174 734 269 734 401 C 734 465 717 520 695 576 C 682 610 670 645 670 681 C 670 718 676 749 686 786 C 660 810 632 825 578 837 L 578 840 C 588 850 601 854 616 854 C 646 854 663 850 688 840 C 722 826 754 820 780 820 C 854 820 912 871 936 900 L 930 909 C 914 898 897 890 872 886 L 870 889 C 887 903 899 926 906 940 L 897
  948 C 868 916 840 886 774 886 C 744 886 713 894 681 903 C 652 911 633 916 600 916 C 553 916 523 889 500 854 L 496 854 C 477 886 450 916 412 916 C 380 916 356 912 328 903 C 307 896 271 884 238 884 C 178 884 150 908 110 948 L 103 942 C 112 922 118 911 133 893 L 130 890 C 113 895 93 902 71 919 L 62,910"/>
+<path style="stroke:none;fill-rule:nonzero;fill:black;fill-opacity:1;" d="M 62 910 C 100 868 154 820 220 820 C 252 820 291 828 312 836 C 334 844 370 854 387 854 C 404 854 412 851 420 842 L 420 838 C 383 828 349 814 314 786 C 326 751 334 722 334 681 C 334 658 324 634 306 600 C 288 566 270 505 270 454 C 270 282 423 158 467 124 C 451 110 449 94 449 87 C 449 68 460 52 485 52 C 508 52 518 69 518 83 C 518 100 510 113 498 122 C 513 134 532 150 545 162 C 558 150 566 140 576 127 C 565 118 552 105 552 87 C 552 68 565 52 585 52 C 607 52 618 68 618 82 C 618 100 607 113 598 123 C 650 174 734 269 734 401 C 734 465 717 520 695 576 C 682 610 670 645 670 681 C 670 718 676 749 686 786 C 660 810 632 825 578 837 L 578 840 C 588 850 601 854 616 854 C 646 854 663 850 688 840 C 722 826 754 820 780 820 C 854 820 912 871 936 900 L 930 909 C 914 898 897 890 872 886 L 870 889 C 887 903 899 926 906 940 L 897 948 C 868 916 840 886 774 886 C 744 886 713 894 681 903 C 652 911 633 916 600 916 C 553 916 523
  889 500 854 L 496 854 C 477 886 450 916 412 916 C 380 916 356 912 328 903 C 307 896 271 884 238 884 C 178 884 150 908 110 948 L 103 942 C 112 922 118 911 133 893 L 130 890 C 113 895 93 902 71 919 L 62,910 M 119 875 L 121 879 C 132 874 144 872 156 872 L 158 876 C 152 882 143 892 139 899 L 143 902 C 176 878 206 870 236 870 C 270 870 301 878 326 886 C 351 894 380 902 412 902 C 444 902 464 878 482 847 C 466 847 452 845 438 843 C 426 859 418 868 390 868 C 366 868 334 858 306 849 C 280 840 242 834 220 834 C 177 834 147 853 119 875 M 294 458 C 294 527 315 576 340 625 C 394 603 455 596 500 596 C 565 596 600 605 659 621 C 666 589 670 536 670 507 C 670 342 620 243 482 136 C 376 229 294 310 294 458 M 338 781 C 374 809 434 828 500 828 C 566 828 626 809 662 781 C 618 757 562 739 500 739 C 438 739 382 757 338 781 M 343 760 L 346 761 C 389 721 394 711 394 707 C 394 701 378 696 354 691 C 352 714 350 737 343 760 M 347 646 C 350 656 352 666 352 678 C 404 656 441 648 500 648 C 559 648 596 656
  648 678 C 648 666 650 656 653 646 C 594 626 560 620 500 620 C 440 620 406 626 347 646 M 348 408 L 348 377 C 348 362 355 352 406 348 C 444 345 444 344 444 329 L 444 240 C 444 231 448 220 463 220 L 501 220 C 516 220 520 231 520 240 L 520 329 C 520 344 520 345 558 348 C 609 352 616 362 616 377 L 616 408 C 616 416 611 428 597 428 C 591 428 574 427 559 424 C 545 421 536 420 526 420 C 520 420 520 424 520 430 L 520 537 C 520 544 516 556 505 556 L 459 556 C 448 556 444 544 444 537 L 444 430 C 444 424 444 420 438 420 C 428 420 419 421 405 424 C 390 427 373 428 367 428 C 353 428 348 416 348 408 M 364 391 C 364 402 365 410 375 410 C 381 410 392 409 407 406 C 421 403 437 401 445 401 C 457 401 460 409 460 418 L 460 529 C 460 541 462 544 482 544 C 502 544 504 541 504 529 L 504 418 C 504 409 507 401 519 401 C 527 401 543 403 557 406 C 572 409 583 410 589 410 C 599 410 600 402 600 391 C 600 374 595 367 547 364 C 512 362 504 358 504 345 L 504 249 C 504 233 496 232 482 232 C 468 232 460 233 
 460 249 L 460 345 C 460 358 452 362 417 364 C 369 367 364 374 364 391 M 440 696 C 440 702 490 726 500 726 C 510 726 560 702 560 696 C 560 688 512 658 500 658 C 488 658 440 688 440 696 M 467 86 C 467 97 474 104 483 112 C 494 104 499 98 499 85 C 499 76 493 70 484 70 C 474 70 467 76 467 86 M 513 846 C 532 876 560 902 597 902 C 626 902 655 897 684 888 C 711 879 745 872 776 872 C 809 872 836 878 858 894 L 859 893 C 858 887 848 875 843 871 L 844 869 C 857 869 873 870 882 872 L 883 870 C 860 852 824 834 780 834 C 751 834 726 840 700 850 C 674 860 650 868 616 868 C 592 868 574 862 556 843 C 541 846 531 846 513 846 M 556 172 C 659 272 690 361 690 510 L 695 510 C 706 472 710 441 710 394 C 710 297 667 222 587 137 C 576 153 568 161 556 172 M 570 86 C 570 96 576 104 587 113 C 596 103 600 97 600 86 C 600 78 595 70 585 70 C 576 70 570 77 570 86 M 606 707 C 606 711 611 721 654 761 L 657 760 C 650 737 648 714 646 691 C 622 696 606 701 606 707"/>
+</g>
+</svg>
diff --git a/glchess/data/pieces/fancy/whiteKing.svg b/glchess/data/pieces/fancy/whiteKing.svg
new file mode 100644
index 0000000..2413b37
--- /dev/null
+++ b/glchess/data/pieces/fancy/whiteKing.svg
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+	(c) 2010 Alexey Kryukov
+	
+    This work is free; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This work is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+-->
+<svg xmlns="http://www.w3.org/2000/svg"; xmlns:xlink="http://www.w3.org/1999/xlink"; width="1000pt" height="1000pt" viewBox="0 0 1000 1000" version="1.1">
+<g id="surface0">
+<path style="stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke:white;stroke-opacity:1;stroke-miterlimit:10;fill-rule:nonzero;fill:white;fill-opacity:1;" d="M 106 432 C 106 352 179 282 259 282 C 322 282 356 293 414 326 L 418 322 L 418 122 C 418 100 422 96 444 96 L 556 96 C 578 96 582 100 582 122 L 582 322 L 586 326 C 644 293 678 282 741 282 C 821 282 894 352 894 432 C 894 502 870 536 840 574 C 812 609 801 628 791 655 C 797 664 800 672 800 684 C 800 697 797 707 793 717 C 788 728 784 741 784 751 C 784 759 784 764 785 771 L 796 842 C 700 878 596 892 500 892 C 404 892 300 878 204 842 L 215 771 C 216 764 216 759 216 751 C 216 741 212 728 207 717 C 203 707 200 697 200 684 C 200 672 203 664 209 655 C 199 628 189 611 161 576 C 129 536 106 507 106 432 "/>
+<path style="stroke:none;fill-rule:nonzero;fill:black;fill-opacity:1;" d="M 106 432 C 106 352 179 282 259 282 C 322 282 356 293 414 326 L 418 322 L 418 122 C 418 100 422 96 444 96 L 556 96 C 578 96 582 100 582 122 L 582 322 L 586 326 C 644 293 678 282 741 282 C 821 282 894 352 894 432 C 894 502 870 536 840 574 C 812 609 801 628 791 655 C 797 664 800 672 800 684 C 800 697 797 707 793 717 C 788 728 784 741 784 751 C 784 759 784 764 785 771 L 796 842 C 700 878 596 892 500 892 C 404 892 300 878 204 842 L 215 771 C 216 764 216 759 216 751 C 216 741 212 728 207 717 C 203 707 200 697 200 684 C 200 672 203 664 209 655 C 199 628 189 611 161 576 C 129 536 106 507 106 432 M 124 436 C 124 490 144 530 174 566 C 191 587 209 614 222 643 L 236 636 C 224 610 207 582 191 562 C 160 524 144 489 144 438 C 144 369 210 320 278 320 C 335 320 369 335 415 368 L 424 354 C 378 323 334 302 269 302 C 196 302 124 359 124 436 M 162 438 C 162 472 171 498 189 523 C 199 516 215 512 226 512 C 240 512 247 513 2
 58 519 C 262 487 278 455 295 437 C 313 450 336 473 348 504 C 360 495 373 490 395 490 C 424 490 464 511 482 560 L 487 558 C 456 393 378 340 281 340 C 212 340 162 390 162 438 M 199 540 C 211 562 227 583 245 597 C 256 606 269 614 277 614 C 284 614 287 609 287 604 C 287 595 279 574 268 558 C 258 544 245 532 228 532 C 218 532 209 533 199 540 M 224 695 C 224 705 229 710 242 710 C 245 710 251 709 258 706 C 317 683 402 666 500 666 C 598 666 683 683 742 706 C 749 709 755 710 758 710 C 771 710 776 705 776 695 C 776 658 623 628 500 628 C 377 628 224 658 224 695 M 226 824 C 241 829 258 834 276 839 C 360 808 413 800 500 800 C 587 800 640 808 724 839 C 742 834 759 829 774 824 C 677 780 609 769 500 769 C 391 769 323 780 226 824 M 237 780 C 250 784 255 784 266 784 C 294 784 380 746 380 725 C 380 714 340 711 307 711 C 294 711 260 721 240 733 C 240 751 240 762 237 780 M 278 528 C 278 559 297 603 313 603 C 324 603 328 561 328 538 C 328 515 318 486 298 473 C 284 489 278 513 278 528 M 303 845 C 
 366 859 439 868 500 868 C 561 868 634 859 697 845 C 624 823 578 816 500 816 C 422 816 376 823 303 845 M 337 588 C 337 593 342 597 348 597 C 359 597 369 589 381 577 C 391 567 415 535 420 520 C 414 514 402 510 390 510 C 370 510 358 521 348 538 C 340 552 337 574 337 588 M 412 578 C 412 596 423 604 437 604 C 451 604 463 590 463 573 C 463 561 450 539 436 531 C 424 544 412 566 412 578 M 422 722 C 422 738 478 757 500 757 C 522 757 578 738 578 722 C 578 706 522 685 500 685 C 478 685 422 706 422 722 M 427 381 C 440 391 450 404 459 420 L 462 420 C 467 404 482 395 500 395 C 518 395 533 404 538 420 L 541 420 C 550 404 560 391 573 381 L 562 366 C 548 377 530 386 500 386 C 470 386 452 377 438 366 L 427 381 M 432 274 C 432 278 432 281 436 281 C 439 281 441 280 444 277 C 467 252 489 250 500 250 C 511 250 533 252 556 277 C 559 280 561 281 564 281 C 568 281 568 278 568 274 L 568 232 L 432 232 L 432 274 M 432 208 L 484 164 L 432 120 L 432 208 M 446 320 C 446 350 470 374 500 374 C 530 374 554 3
 50 554 320 C 554 290 530 266 500 266 C 470 266 446 290 446 320 M 453 216 L 546 216 L 500 177 L 453 216 M 453 112 L 500 151 L 546 112 L 453 112 M 476 592 C 476 604 488 612 500 612 C 512 612 524 604 524 592 C 524 580 512 572 500 572 C 488 572 476 580 476 592 M 478 444 C 478 462 486 484 498 512 L 502 512 C 514 484 522 462 522 444 C 522 428 515 414 500 414 C 485 414 478 428 478 444 M 513 558 L 518 560 C 536 511 576 490 605 490 C 627 490 640 495 652 504 C 664 473 687 450 705 437 C 722 455 738 487 742 519 C 753 513 760 512 774 512 C 785 512 801 516 811 523 C 829 498 838 472 838 438 C 838 390 788 340 719 340 C 622 340 544 393 513 558 M 515 164 L 567 208 L 567 120 L 515 164 M 537 573 C 537 590 549 604 563 604 C 577 604 588 596 588 578 C 588 566 576 544 564 531 C 550 539 537 561 537 573 M 576 354 L 585 368 C 631 335 665 320 722 320 C 790 320 856 369 856 438 C 856 489 840 524 809 562 C 793 582 776 610 764 636 L 778 643 C 791 614 809 587 826 566 C 856 530 876 490 876 436 C 876 359 804 
 302 731 302 C 666 302 622 323 576 354 M 580 520 C 585 535 609 567 619 577 C 631 589 641 597 652 597 C 658 597 663 593 663 588 C 663 574 660 552 652 538 C 642 521 630 510 610 510 C 598 510 586 514 580 520 M 620 725 C 620 746 706 784 734 784 C 745 784 750 784 763 780 C 760 762 760 751 760 733 C 740 721 706 711 693 711 C 660 711 620 714 620 725 M 672 538 C 672 561 676 603 687 603 C 703 603 722 559 722 528 C 722 513 716 489 702 473 C 682 486 672 515 672 538 M 713 604 C 713 609 716 614 723 614 C 731 614 744 606 755 597 C 773 583 789 562 801 540 C 791 533 782 532 772 532 C 755 532 742 544 732 558 C 721 574 713 595 713 604 "/>
+</g>
+</svg>
diff --git a/glchess/data/pieces/fancy/whiteKnight.svg b/glchess/data/pieces/fancy/whiteKnight.svg
new file mode 100644
index 0000000..33ed286
--- /dev/null
+++ b/glchess/data/pieces/fancy/whiteKnight.svg
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+	(c) 2010 Alexey Kryukov
+	
+    This work is free; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This work is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+-->
+<svg xmlns="http://www.w3.org/2000/svg"; xmlns:xlink="http://www.w3.org/1999/xlink"; width="1000pt" height="1000pt" viewBox="0 0 1000 1000" version="1.1">
+<g id="surface0">
+<path style="stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke:white;stroke-opacity:1;stroke-miterlimit:10;fill-rule:nonzero;fill:white;fill-opacity:1;" d="M 84 619 C 84 561 100 540 118 518 C 139 492 161 460 178 426 C 194 394 211 364 232 336 C 242 280 256 241 276 206 L 270 159 C 269 150 268 136 268 126 C 268 118 270 100 283 100 C 301 100 335 150 348 174 L 372 174 C 377 140 387 96 402 96 C 416 96 425 115 432 132 C 440 152 446 161 462 175 C 475 186 481 191 492 191 C 499 191 505 191 511 190 C 517 189 524 188 532 188 C 552 188 582 192 582 199 L 582 218 C 629 223 675 233 675 241 C 675 246 658 252 646 256 L 646 259 C 674 264 746 288 746 301 C 746 309 724 312 707 314 L 706 316 C 736 328 800 385 800 401 C 800 409 778 411 763 411 L 762 414 C 790 434 844 494 844 510 C 844 513 843 514 840 514 C 836 514 829 513 823 512 C 816 510 808 509 803 509 L 801 512 C 826 536 874 588 874 608 C 874 610 873 612 869 612 C 865 612 858 610 850 607 C 843 604 835 601 830 601 L 829 603 C 851 
 626 882 681 882 700 C 882 703 880 705 877 705 C 874 705 868 704 861 700 C 856 697 849 694 845 693 L 844 695 C 870 732 894 775 894 791 C 894 793 893 795 889 795 C 885 795 878 793 870 790 C 865 788 857 786 853 785 L 852 787 C 868 808 883 839 884 866 L 286 866 C 286 792 320 743 372 684 C 417 633 435 605 448 536 L 442 532 C 416 549 390 554 370 554 C 354 576 346 582 320 600 C 295 617 279 636 268 666 C 256 699 237 730 205 730 C 176 730 165 722 155 709 C 119 696 84 674 84 619 "/>
+<path style="stroke:none;fill-rule:nonzero;fill:black;fill-opacity:1;" d="M 84 619 C 84 561 100 540 118 518 C 139 492 161 460 178 426 C 194 394 211 364 232 336 C 242 280 256 241 276 206 L 270 159 C 269 150 268 136 268 126 C 268 118 270 100 283 100 C 301 100 335 150 348 174 L 372 174 C 377 140 387 96 402 96 C 416 96 425 115 432 132 C 440 152 446 161 462 175 C 475 186 481 191 492 191 C 499 191 505 191 511 190 C 517 189 524 188 532 188 C 552 188 582 192 582 199 L 582 218 C 629 223 675 233 675 241 C 675 246 658 252 646 256 L 646 259 C 674 264 746 288 746 301 C 746 309 724 312 707 314 L 706 316 C 736 328 800 385 800 401 C 800 409 778 411 763 411 L 762 414 C 790 434 844 494 844 510 C 844 513 843 514 840 514 C 836 514 829 513 823 512 C 816 510 808 509 803 509 L 801 512 C 826 536 874 588 874 608 C 874 610 873 612 869 612 C 865 612 858 610 850 607 C 843 604 835 601 830 601 L 829 603 C 851 626 882 681 882 700 C 882 703 880 705 877 705 C 874 705 868 704 861 700 C 856 697 849 694 845 69
 3 L 844 695 C 870 732 894 775 894 791 C 894 793 893 795 889 795 C 885 795 878 793 870 790 C 865 788 857 786 853 785 L 852 787 C 868 808 883 839 884 866 L 286 866 C 286 792 320 743 372 684 C 417 633 435 605 448 536 L 442 532 C 416 549 390 554 370 554 C 354 576 346 582 320 600 C 295 617 279 636 268 666 C 256 699 237 730 205 730 C 176 730 165 722 155 709 C 119 696 84 674 84 619 M 107 601 C 107 661 120 685 156 685 C 161 685 168 684 168 676 C 168 675 168 672 167 669 C 166 666 165 663 165 660 C 165 649 178 621 193 621 C 201 621 204 629 204 633 C 204 642 198 652 191 662 C 185 671 181 687 181 693 C 181 703 189 708 196 708 C 209 708 218 704 226 692 C 232 682 233 674 234 665 C 235 652 244 641 261 629 C 272 621 285 610 291 602 C 302 588 310 581 330 571 C 348 562 348 547 348 536 C 348 534 347 530 346 527 C 344 523 343 519 343 515 C 343 511 345 507 349 507 C 358 507 363 516 365 524 C 368 536 374 542 384 542 C 416 542 435 520 454 492 C 475 462 480 438 480 402 C 480 374 483 335 500 335 C 5
 12 335 514 352 514 361 C 514 390 504 428 490 460 L 496 464 C 510 454 514 445 518 424 C 520 413 525 396 536 396 C 544 396 550 402 550 408 C 550 434 518 474 494 500 L 502 508 C 512 494 523 480 532 480 C 541 480 544 485 544 491 C 544 503 526 516 510 525 C 494 534 482 538 464 538 C 459 573 455 596 441 622 C 426 650 400 682 373 714 C 330 765 316 794 310 842 L 824 842 C 802 474 706 269 482 219 C 472 220 461 223 448 228 L 430 165 C 427 156 423 145 413 145 C 407 145 406 155 405 165 L 402 223 C 402 229 396 231 387 232 C 382 233 370 238 367 247 C 354 247 347 248 344 256 C 342 261 337 269 327 269 C 317 269 310 264 310 256 C 310 237 317 230 334 214 L 328 208 C 307 216 278 245 270 278 C 258 327 254 340 238 362 C 222 384 210 404 202 421 C 191 445 168 487 150 507 C 128 532 107 556 107 601 M 122 576 C 122 567 124 565 130 559 C 136 553 143 542 148 530 C 154 516 161 506 165 506 C 171 506 174 509 174 515 C 174 526 158 551 138 569 L 138 571 C 164 571 168 593 168 609 C 168 629 156 643 142 643 C 
 138 643 135 639 135 635 C 135 631 139 627 142 624 C 147 619 148 612 148 607 C 148 596 143 589 131 586 C 126 585 122 582 122 576 M 254 413 C 254 367 298 328 337 328 C 375 328 386 335 386 347 C 386 353 383 357 376 357 C 373 357 368 356 365 353 C 363 351 359 348 354 348 C 349 348 346 350 342 353 C 347 360 348 371 348 375 C 348 394 343 410 318 410 C 302 410 292 394 289 378 L 287 378 C 277 383 272 398 271 405 C 269 415 266 420 262 420 C 259 420 254 419 254 413 M 296 148 L 303 188 L 318 181 L 300 146 L 296 148 M 300 377 C 300 385 307 389 314 389 C 323 389 328 383 328 372 C 328 366 325 358 316 358 C 303 358 300 368 300 377 "/>
+</g>
+</svg>
diff --git a/glchess/data/pieces/fancy/whitePawn.svg b/glchess/data/pieces/fancy/whitePawn.svg
new file mode 100644
index 0000000..7c079c6
--- /dev/null
+++ b/glchess/data/pieces/fancy/whitePawn.svg
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+	(c) 2010 Alexey Kryukov
+	
+    This work is free; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This work is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+-->
+<svg xmlns="http://www.w3.org/2000/svg"; xmlns:xlink="http://www.w3.org/1999/xlink"; width="1000pt" height="1000pt" viewBox="0 0 1000 1000" version="1.1">
+<g id="surface0">
+<path style="stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke:white;stroke-opacity:1;stroke-miterlimit:10;fill-rule:nonzero;fill:white;fill-opacity:1;" d="M 278 844 C 278 779 306 716 362 672 C 397 645 413 615 413 590 C 413 578 404 571 392 562 C 379 552 350 528 350 486 C 350 456 363 428 384 408 C 403 390 420 365 420 348 C 420 338 414 335 407 335 L 367 335 C 357 335 357 331 357 327 C 357 323 361 317 364 314 L 445 228 C 448 225 452 221 452 215 C 452 209 448 204 442 199 C 433 191 426 175 426 156 C 426 121 452 86 500 86 C 548 86 574 121 574 156 C 574 175 567 191 558 199 C 552 204 548 209 548 215 C 548 221 552 225 555 228 L 636 314 C 639 317 643 323 643 327 C 643 331 643 335 633 335 L 593 335 C 586 335 580 338 580 348 C 580 365 597 390 616 408 C 637 428 650 456 650 486 C 650 528 621 552 608 562 C 596 571 587 578 587 590 C 587 615 603 645 638 672 C 694 716 722 779 722 844 C 722 852 722 857 720 866 L 280 866 C 278 857 278 852 278 844 "/>
+<path style="stroke:none;fill-rule:nonzero;fill:black;fill-opacity:1;" d="M 278 844 C 278 779 306 716 362 672 C 397 645 413 615 413 590 C 413 578 404 571 392 562 C 379 552 350 528 350 486 C 350 456 363 428 384 408 C 403 390 420 365 420 348 C 420 338 414 335 407 335 L 367 335 C 357 335 357 331 357 327 C 357 323 361 317 364 314 L 445 228 C 448 225 452 221 452 215 C 452 209 448 204 442 199 C 433 191 426 175 426 156 C 426 121 452 86 500 86 C 548 86 574 121 574 156 C 574 175 567 191 558 199 C 552 204 548 209 548 215 C 548 221 552 225 555 228 L 636 314 C 639 317 643 323 643 327 C 643 331 643 335 633 335 L 593 335 C 586 335 580 338 580 348 C 580 365 597 390 616 408 C 637 428 650 456 650 486 C 650 528 621 552 608 562 C 596 571 587 578 587 590 C 587 615 603 645 638 672 C 694 716 722 779 722 844 C 722 852 722 857 720 866 L 280 866 C 278 857 278 852 278 844 M 314 793 C 314 809 321 830 337 830 L 663 830 C 679 830 686 809 686 793 C 686 750 666 721 635 696 C 596 664 573 638 563 588 L 437 
 588 C 427 638 404 664 365 696 C 334 721 314 750 314 793 M 374 486 C 374 529 413 564 458 564 L 542 564 C 587 564 626 529 626 486 C 626 458 618 439 590 412 C 571 393 560 369 553 338 L 447 338 C 440 369 429 393 410 412 C 382 439 374 458 374 486 M 416 301 C 416 311 429 314 439 314 L 561 314 C 571 314 584 311 584 301 C 584 296 580 290 575 284 L 521 225 C 513 226 508 226 500 226 C 492 226 487 226 479 225 L 425 284 C 420 290 416 296 416 301 M 450 156 C 450 184 472 206 500 206 C 528 206 550 184 550 156 C 550 128 528 106 500 106 C 472 106 450 128 450 156 "/>
+</g>
+</svg>
diff --git a/glchess/data/pieces/fancy/whiteQueen.svg b/glchess/data/pieces/fancy/whiteQueen.svg
new file mode 100644
index 0000000..bd0921c
--- /dev/null
+++ b/glchess/data/pieces/fancy/whiteQueen.svg
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+	(c) 2010 Alexey Kryukov
+	
+    This work is free; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This work is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+-->
+<svg xmlns="http://www.w3.org/2000/svg"; xmlns:xlink="http://www.w3.org/1999/xlink"; width="1000pt" height="1000pt" viewBox="0 0 1000 1000" version="1.1">
+<g id="surface0">
+<path style="stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke:white;stroke-opacity:1;stroke-miterlimit:10;fill-rule:nonzero;fill:white;fill-opacity:1;" d="M 54 339 C 54 316 70 300 93 300 C 116 300 132 316 132 339 C 132 344 131 352 129 356 C 127 361 126 365 126 369 C 126 375 129 382 135 389 L 225 506 C 237 522 249 538 264 538 C 281 538 287 520 287 503 L 287 311 C 287 300 285 285 270 278 C 259 273 252 258 252 247 C 252 227 266 206 289 206 C 312 206 330 221 330 245 C 330 256 326 267 319 273 C 312 279 307 285 307 294 C 307 304 310 312 315 323 L 387 488 C 393 501 400 512 414 512 C 425 512 434 508 437 492 L 487 250 C 489 241 491 229 491 221 C 491 212 491 205 480 199 C 468 192 452 182 452 156 C 452 130 474 108 500 108 C 526 108 548 130 548 156 C 548 182 532 192 520 199 C 509 205 509 212 509 221 C 509 229 511 241 513 250 L 563 492 C 566 508 575 512 586 512 C 600 512 607 501 613 488 L 685 323 C 690 312 693 304 693 294 C 693 285 688 279 681 273 C 674 267 670 256 670 245
  C 670 221 688 206 711 206 C 734 206 748 227 748 247 C 748 258 741 273 730 278 C 715 285 713 300 713 311 L 713 503 C 713 520 719 538 736 538 C 751 538 763 522 775 506 L 865 389 C 871 382 874 375 874 369 C 874 365 873 361 871 356 C 869 352 868 344 868 339 C 868 316 884 300 907 300 C 930 300 946 316 946 339 C 946 362 928 376 915 378 C 906 379 897 381 893 390 L 819 572 C 799 622 790 681 790 711 C 790 737 793 753 797 771 L 810 834 C 714 873 596 892 500 892 C 404 892 286 873 190 834 L 203 771 C 207 753 210 737 210 711 C 210 681 201 622 181 572 L 107 390 C 103 381 94 379 85 378 C 72 376 54 362 54 339 "/>
+<path style="stroke:none;fill-rule:nonzero;fill:black;fill-opacity:1;" d="M 54 339 C 54 316 70 300 93 300 C 116 300 132 316 132 339 C 132 344 131 352 129 356 C 127 361 126 365 126 369 C 126 375 129 382 135 389 L 225 506 C 237 522 249 538 264 538 C 281 538 287 520 287 503 L 287 311 C 287 300 285 285 270 278 C 259 273 252 258 252 247 C 252 227 266 206 289 206 C 312 206 330 221 330 245 C 330 256 326 267 319 273 C 312 279 307 285 307 294 C 307 304 310 312 315 323 L 387 488 C 393 501 400 512 414 512 C 425 512 434 508 437 492 L 487 250 C 489 241 491 229 491 221 C 491 212 491 205 480 199 C 468 192 452 182 452 156 C 452 130 474 108 500 108 C 526 108 548 130 548 156 C 548 182 532 192 520 199 C 509 205 509 212 509 221 C 509 229 511 241 513 250 L 563 492 C 566 508 575 512 586 512 C 600 512 607 501 613 488 L 685 323 C 690 312 693 304 693 294 C 693 285 688 279 681 273 C 674 267 670 256 670 245 C 670 221 688 206 711 206 C 734 206 748 227 748 247 C 748 258 741 273 730 278 C 715 285 713 300
  713 311 L 713 503 C 713 520 719 538 736 538 C 751 538 763 522 775 506 L 865 389 C 871 382 874 375 874 369 C 874 365 873 361 871 356 C 869 352 868 344 868 339 C 868 316 884 300 907 300 C 930 300 946 316 946 339 C 946 362 928 376 915 378 C 906 379 897 381 893 390 L 819 572 C 799 622 790 681 790 711 C 790 737 793 753 797 771 L 810 834 C 714 873 596 892 500 892 C 404 892 286 873 190 834 L 203 771 C 207 753 210 737 210 711 C 210 681 201 622 181 572 L 107 390 C 103 381 94 379 85 378 C 72 376 54 362 54 339 M 70 339 C 70 352 80 362 93 362 C 106 362 116 352 116 339 C 116 326 106 316 93 316 C 80 316 70 326 70 339 M 139 425 L 178 520 C 192 528 209 535 224 538 L 226 534 L 141 424 L 139 425 M 186 540 C 198 562 209 590 213 613 C 303 597 390 588 500 588 C 610 588 697 597 787 613 C 791 590 802 562 814 540 C 780 554 766 558 740 558 C 704 558 682 535 666 500 C 642 523 622 532 586 532 C 550 532 520 508 500 482 C 480 508 450 532 414 532 C 378 532 358 523 334 500 C 318 535 296 558 260 558 C 234
  558 220 554 186 540 M 210 817 C 221 821 233 825 245 829 C 326 792 394 784 500 784 C 606 784 674 792 755 829 C 767 825 779 821 790 817 C 734 779 664 756 500 756 C 336 756 266 779 210 817 M 219 658 C 219 674 223 680 232 689 C 325 673 396 662 500 662 C 604 662 675 673 768 689 C 777 680 781 674 781 658 C 781 649 779 644 773 636 C 661 617 596 612 500 612 C 404 612 339 617 227 636 C 221 644 219 649 219 658 M 227 776 L 229 778 C 284 761 352 730 352 718 C 352 706 282 702 233 702 C 233 730 233 751 227 776 M 268 245 C 268 258 278 268 291 268 C 304 268 314 258 314 245 C 314 232 304 222 291 222 C 278 222 268 232 268 245 M 275 837 C 340 855 417 868 500 868 C 583 868 660 855 725 837 C 648 809 594 804 500 804 C 406 804 352 809 275 837 M 304 505 C 317 494 323 476 326 460 C 335 471 356 489 368 489 L 306 348 L 304 349 L 304 505 M 426 710 C 426 722 480 738 500 738 C 520 738 574 722 574 710 C 574 698 520 680 500 680 C 480 680 426 698 426 710 M 456 490 C 472 482 490 461 500 445 C 510 461 528 48
 2 544 490 L 501 280 L 499 280 L 456 490 M 468 156 C 468 174 482 188 500 188 C 518 188 532 174 532 156 C 532 138 518 124 500 124 C 482 124 468 138 468 156 M 632 489 C 644 489 665 471 674 460 C 677 476 683 494 696 505 L 696 349 L 694 348 L 632 489 M 648 718 C 648 730 716 761 771 778 L 773 776 C 767 751 767 730 767 702 C 718 702 648 706 648 718 M 686 245 C 686 258 696 268 709 268 C 722 268 732 258 732 245 C 732 232 722 222 709 222 C 696 222 686 232 686 245 M 774 534 L 776 538 C 791 535 808 528 822 520 L 861 425 L 859 424 L 774 534 M 884 339 C 884 352 894 362 907 362 C 920 362 930 352 930 339 C 930 326 920 316 907 316 C 894 316 884 326 884 339 "/>
+</g>
+</svg>
diff --git a/glchess/data/pieces/fancy/whiteRook.svg b/glchess/data/pieces/fancy/whiteRook.svg
new file mode 100644
index 0000000..df9c9f4
--- /dev/null
+++ b/glchess/data/pieces/fancy/whiteRook.svg
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+	(c) 2010 Alexey Kryukov
+	
+    This work is free; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This work is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+-->
+<svg xmlns="http://www.w3.org/2000/svg"; xmlns:xlink="http://www.w3.org/1999/xlink"; width="1000pt" height="1000pt" viewBox="0 0 1000 1000" version="1.1">
+<g id="surface0">
+<path style="stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke:white;stroke-opacity:1;stroke-miterlimit:10;fill-rule:nonzero;fill:white;fill-opacity:1;" d="M 192 903 C 192 881 200 863 209 852 L 209 754 L 284 654 L 284 287 L 226 216 L 226 76 C 260 71 305 67 333 67 L 340 126 L 425 126 L 425 63 C 449 61 476 60 500 60 C 524 60 550 61 574 63 L 574 126 L 660 126 L 667 66 C 695 66 740 71 774 76 L 774 216 L 716 287 L 716 654 L 791 754 L 791 852 C 800 863 808 881 808 903 C 808 913 807 923 804 934 L 196 934 C 193 923 192 913 192 903 "/>
+<path style="stroke:none;fill-rule:nonzero;fill:black;fill-opacity:1;" d="M 192 903 C 192 881 200 863 209 852 L 209 754 L 284 654 L 284 287 L 226 216 L 226 76 C 260 71 305 67 333 67 L 340 126 L 425 126 L 425 63 C 449 61 476 60 500 60 C 524 60 550 61 574 63 L 574 126 L 660 126 L 667 66 C 695 66 740 71 774 76 L 774 216 L 716 287 L 716 654 L 791 754 L 791 852 C 800 863 808 881 808 903 C 808 913 807 923 804 934 L 196 934 C 193 923 192 913 192 903 M 227 896 C 227 904 227 908 229 914 L 771 914 C 773 908 773 904 773 896 C 773 888 769 880 766 876 L 234 876 C 231 880 227 888 227 896 M 238 802 C 238 818 240 833 246 852 L 754 852 C 760 833 762 818 762 802 C 762 781 761 770 751 750 L 249 750 C 239 770 238 781 238 802 M 250 201 C 336 195 428 190 500 190 C 572 190 664 195 750 201 L 750 97 C 734 94 708 92 688 92 L 680 150 L 550 150 L 550 86 C 534 85 518 84 500 84 C 482 84 466 85 450 86 L 450 150 L 320 150 L 312 92 C 292 92 266 94 250 97 L 250 201 M 263 726 L 737 726 L 697 674 L 303 674 L 2
 63 726 M 266 224 L 306 272 C 362 268 436 264 500 264 C 564 264 638 268 694 272 L 734 224 C 648 218 572 214 500 214 C 428 214 352 218 266 224 M 308 650 L 356 650 L 356 586 C 340 586 324 587 308 588 L 308 650 M 308 564 C 344 562 382 560 420 560 L 420 478 C 380 480 341 482 308 484 L 308 564 M 308 460 C 323 459 339 458 356 457 L 356 372 C 339 373 323 374 308 376 L 308 460 M 308 352 C 341 348 380 346 420 344 L 420 290 C 380 292 341 294 308 296 L 308 352 M 380 650 L 488 650 L 488 584 C 452 584 416 584 380 585 L 380 650 M 380 456 C 415 454 453 452 488 452 L 488 366 C 453 366 415 368 380 370 L 380 456 M 444 560 L 556 560 L 556 477 C 537 476 518 476 500 476 C 482 476 463 476 444 477 L 444 560 M 444 343 C 463 342 482 342 500 342 C 518 342 537 342 556 343 L 556 289 C 537 288 518 288 500 288 C 482 288 463 288 444 289 L 444 343 M 512 650 L 620 650 L 620 585 C 584 584 548 584 512 584 L 512 650 M 512 452 C 547 452 585 454 620 456 L 620 370 C 585 368 547 366 512 366 L 512 452 M 580 560 C 61
 8 560 656 562 692 564 L 692 484 C 659 482 620 480 580 478 L 580 560 M 580 344 C 620 346 659 348 692 352 L 692 296 C 659 294 620 292 580 290 L 580 344 M 644 650 L 692 650 L 692 588 C 676 587 660 586 644 586 L 644 650 M 644 457 C 661 458 677 459 692 460 L 692 376 C 677 374 661 373 644 372 L 644 457 "/>
+</g>
+</svg>
diff --git a/glchess/src/lib/scene/cairo/COPYING.2D b/glchess/data/pieces/simple/COPYING.html
similarity index 100%
rename from glchess/src/lib/scene/cairo/COPYING.2D
rename to glchess/data/pieces/simple/COPYING.html
diff --git a/glchess/data/pieces/simple/Makefile.am b/glchess/data/pieces/simple/Makefile.am
new file mode 100644
index 0000000..3bfa926
--- /dev/null
+++ b/glchess/data/pieces/simple/Makefile.am
@@ -0,0 +1,16 @@
+pixmapdir = $(datadir)/glchess/pieces/simple
+pixmap_DATA = \
+	blackKing.svg \
+	blackQueen.svg \
+	blackRook.svg \
+	blackBishop.svg \
+	blackKnight.svg \
+	blackPawn.svg \
+	whiteKing.svg \
+	whiteQueen.svg \
+	whiteRook.svg \
+	whiteBishop.svg \
+	whiteKnight.svg \
+	whitePawn.svg
+
+-include $(top_srcdir)/git.mk
diff --git a/glchess/data/pieces/simple/blackBishop.svg b/glchess/data/pieces/simple/blackBishop.svg
new file mode 100644
index 0000000..7ac8b87
--- /dev/null
+++ b/glchess/data/pieces/simple/blackBishop.svg
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+    Image is based on original work of Max Froumentin (mf w3 org) which
+    used to be available at:
+
+    http://people.w3.org/maxf/ChessGML/ChessSophia.svg
+
+    These images are under the W3C Software Notice and License, see
+    COPYING.html for details.
+-->
+<svg xmlns="http://www.w3.org/2000/svg"; xmlns:xlink="http://www.w3.org/1999/xlink"; width="1000pt" height="1000pt" viewBox="0 0 1000 1000" version="1.1">
+<g id="surface0">
+<path style="stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke:white;stroke-opacity:1;stroke-miterlimit:10;fill-rule:nonzero;fill:white;fill-opacity:1;" d="M 56 782 C 70 779 84 775 102 769 C 130 759 162 751 194 751 C 206 751 220 751 235 753 C 251 755 269 756 286 756 C 327 756 383 751 416 728 L 416 725 L 308 671 L 339 580 C 298 558 268 516 268 457 C 268 382 314 314 384 273 C 426 248 436 238 449 222 L 449 219 C 426 204 410 181 410 147 C 410 97 450 57 500 57 C 550 57 590 97 590 147 C 590 181 574 204 551 219 L 551 222 C 564 238 574 248 616 273 C 686 314 732 382 732 457 C 732 516 702 558 661 580 L 692 671 L 584 725 L 584 728 C 617 751 673 756 714 756 C 731 756 749 755 765 753 C 780 751 794 751 806 751 C 838 751 870 759 898 769 C 916 775 930 779 944 782 L 893 943 C 872 939 857 936 833 928 C 798 916 747 911 689 911 C 650 911 600 910 574 900 C 540 887 522 872 500 853 C 478 872 460 887 426 900 C 400 910 350 911 311 911 C 253 911 202 916 167 928 C 143 936 128 939 107 943
  L 56 782"/>
+<path style="stroke:none;fill-rule:nonzero;fill:black;fill-opacity:1;" d="M 56 782 C 70 779 84 775 102 769 C 130 759 162 751 194 751 C 206 751 220 751 235 753 C 251 755 269 756 286 756 C 327 756 383 751 416 728 L 416 725 L 308 671 L 339 580 C 298 558 268 516 268 457 C 268 382 314 314 384 273 C 426 248 436 238 449 222 L 449 219 C 426 204 410 181 410 147 C 410 97 450 57 500 57 C 550 57 590 97 590 147 C 590 181 574 204 551 219 L 551 222 C 564 238 574 248 616 273 C 686 314 732 382 732 457 C 732 516 702 558 661 580 L 692 671 L 584 725 L 584 728 C 617 751 673 756 714 756 C 731 756 749 755 765 753 C 780 751 794 751 806 751 C 838 751 870 759 898 769 C 916 775 930 779 944 782 L 893 943 C 872 939 857 936 833 928 C 798 916 747 911 689 911 C 650 911 600 910 574 900 C 540 887 522 872 500 853 C 478 872 460 887 426 900 C 400 910 350 911 311 911 C 253 911 202 916 167 928 C 143 936 128 939 107 943 L 56 782 M 369 661 L 371 663 C 405 650 450 639 500 639 C 550 639 595 650 629 663 L 631 661 L 62
 1 631 C 592 618 545 608 500 608 C 455 608 408 618 379 631 L 369 661 M 389 590 L 391 591 C 413 578 455 568 500 568 C 545 568 587 578 609 591 L 611 590 L 601 558 C 585 548 544 539 500 539 C 456 539 415 548 399 558 L 389 590 M 428 449 L 470 449 L 470 491 L 530 491 L 530 449 L 572 449 L 572 389 L 530 389 L 530 347 L 470 347 L 470 389 L 428 389 L 428 449"/>
+</g>
+</svg>
diff --git a/glchess/data/pieces/simple/blackKing.svg b/glchess/data/pieces/simple/blackKing.svg
new file mode 100644
index 0000000..33c7d7b
--- /dev/null
+++ b/glchess/data/pieces/simple/blackKing.svg
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+    Image is based on original work of Max Froumentin (mf w3 org) which
+    used to be available at:
+
+    http://people.w3.org/maxf/ChessGML/ChessSophia.svg
+
+    These images are under the W3C Software Notice and License, see
+    COPYING.html for details.
+-->
+<svg xmlns="http://www.w3.org/2000/svg"; xmlns:xlink="http://www.w3.org/1999/xlink"; width="1000pt" height="1000pt" viewBox="0 0 1000 1000" version="1.1">
+<g id="surface0">
+<path style="stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke:white;stroke-opacity:1;stroke-miterlimit:10;fill-rule:nonzero;fill:white;fill-opacity:1;" d="M 56 495 C 56 403 127 364 208 364 C 269 364 320 384 377 422 L 379 420 C 379 420 368 393 368 358 C 368 308 388 241 470 223 L 470 181 L 410 181 L 410 121 L 470 121 L 470 61 L 530 61 L 530 121 L 590 121 L 590 181 L 530 181 L 530 223 C 612 241 632 308 632 358 C 632 393 621 420 621 420 L 623 422 C 680 384 731 364 792 364 C 873 364 944 403 944 495 C 944 622 869 693 804 730 L 782 868 C 770 898 705 939 500 939 C 295 939 230 898 218 868 L 196 730 C 131 693 56 622 56 495"/>
+<path style="stroke:none;fill-rule:nonzero;fill:black;fill-opacity:1;" d="M 56 495 C 56 403 127 364 208 364 C 269 364 320 384 377 422 L 379 420 C 379 420 368 393 368 358 C 368 308 388 241 470 223 L 470 181 L 410 181 L 410 121 L 470 121 L 470 61 L 530 61 L 530 121 L 590 121 L 590 181 L 530 181 L 530 223 C 612 241 632 308 632 358 C 632 393 621 420 621 420 L 623 422 C 680 384 731 364 792 364 C 873 364 944 403 944 495 C 944 622 869 693 804 730 L 782 868 C 770 898 705 939 500 939 C 295 939 230 898 218 868 L 196 730 C 131 693 56 622 56 495 M 116 505 C 116 599 170 652 225 684 C 291 664 391 656 470 656 C 450 495 289 424 218 424 C 147 424 116 453 116 505 M 150 519 C 150 489 168 457 208 457 C 319 457 413 555 427 628 C 356 628 287 634 231 650 C 168 612 150 549 150 519 M 258 797 L 264 840 C 360 825 428 819 500 819 C 572 819 640 825 736 840 L 742 797 C 652 780 577 773 500 773 C 423 773 348 780 258 797 M 530 656 C 609 656 709 664 775 684 C 830 652 884 599 884 505 C 884 453 853 424 782 424
  C 711 424 550 495 530 656 M 573 626 C 587 553 681 455 792 455 C 832 455 850 487 850 517 C 850 547 832 610 769 648 C 713 632 644 626 573 626"/>
+</g>
+</svg>
diff --git a/glchess/data/pieces/simple/blackKnight.svg b/glchess/data/pieces/simple/blackKnight.svg
new file mode 100644
index 0000000..97204a3
--- /dev/null
+++ b/glchess/data/pieces/simple/blackKnight.svg
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+    Image is based on original work of Max Froumentin (mf w3 org) which
+    used to be available at:
+
+    http://people.w3.org/maxf/ChessGML/ChessSophia.svg
+
+    These images are under the W3C Software Notice and License, see
+    COPYING.html for details.
+-->
+<svg xmlns="http://www.w3.org/2000/svg"; xmlns:xlink="http://www.w3.org/1999/xlink"; width="1000pt" height="1000pt" viewBox="0 0 1000 1000" version="1.1">
+<g id="surface0">
+<path style="stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke:white;stroke-opacity:1;stroke-miterlimit:10;fill-rule:nonzero;fill:white;fill-opacity:1;" d="M 120 641 C 120 607 137 571 160 528 C 182 486 202 433 216 372 C 245 253 278 238 296 232 L 296 145 L 300 145 L 384 212 L 388 212 L 438 122 L 440 122 L 491 229 C 502 226 514 224 526 224 C 732 224 850 576 882 892 L 331 892 C 331 814 359 762 384 718 C 403 684 420 651 420 618 L 420 608 L 305 692 C 278 725 249 740 226 740 C 211 740 198 733 191 720 C 187 721 183 721 179 721 C 147 721 120 693 120 641"/>
+<path style="stroke:none;fill-rule:nonzero;fill:black;fill-opacity:1;" d="M 120 641 C 120 607 137 571 160 528 C 182 486 202 433 216 372 C 245 253 278 238 296 232 L 296 145 L 300 145 L 384 212 L 388 212 L 438 122 L 440 122 L 491 229 C 502 226 514 224 526 224 C 732 224 850 576 882 892 L 331 892 C 331 814 359 762 384 718 C 403 684 420 651 420 618 L 420 608 L 305 692 C 278 725 249 740 226 740 C 211 740 198 733 191 720 C 187 721 183 721 179 721 C 147 721 120 693 120 641 M 191 625 C 191 631 196 638 201 638 C 205 638 210 632 214 627 C 222 618 222 618 228 616 C 234 614 243 611 243 605 C 243 598 234 592 228 592 C 198 592 191 620 191 625 M 295 436 L 310 436 C 352 436 381 412 381 337 C 381 325 380 317 380 317 C 375 320 369 323 363 326 C 332 341 295 359 295 436 M 494 276 C 494 290 507 296 525 296 C 575 296 647 369 702 487 C 752 596 787 786 787 850 C 787 864 797 867 806 867 C 814 867 830 863 830 855 C 830 763 790 584 743 477 C 685 345 600 260 531 260 C 511 260 494 263 494 276"/>
+</g>
+</svg>
diff --git a/glchess/data/pieces/simple/blackPawn.svg b/glchess/data/pieces/simple/blackPawn.svg
new file mode 100644
index 0000000..da63f26
--- /dev/null
+++ b/glchess/data/pieces/simple/blackPawn.svg
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+    Image is based on original work of Max Froumentin (mf w3 org) which
+    used to be available at:
+
+    http://people.w3.org/maxf/ChessGML/ChessSophia.svg
+
+    These images are under the W3C Software Notice and License, see
+    COPYING.html for details.
+-->
+<svg xmlns="http://www.w3.org/2000/svg"; xmlns:xlink="http://www.w3.org/1999/xlink"; width="1000pt" height="1000pt" viewBox="0 0 1000 1000" version="1.1">
+<g id="surface0">
+<path style="stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke:white;stroke-opacity:1;stroke-miterlimit:10;fill-rule:nonzero;fill:white;fill-opacity:1;" d="M 188 910 L 188 769 C 188 704 218 578 339 528 L 339 525 C 316 497 303 461 303 423 C 303 375 324 324 379 285 L 379 283 C 373 273 364 250 364 231 C 364 170 401 105 500 105 C 599 105 636 170 636 231 C 636 250 627 273 621 283 L 621 285 C 676 324 697 375 697 423 C 697 461 684 497 661 525 L 661 528 C 782 578 812 704 812 769 L 812 910 L 188 910"/>
+<path style="stroke:none;fill-rule:nonzero;fill:black;fill-opacity:1;" d="M 188 910 L 188 769 C 188 704 218 578 339 528 L 339 525 C 316 497 303 461 303 423 C 303 375 324 324 379 285 L 379 283 C 373 273 364 250 364 231 C 364 170 401 105 500 105 C 599 105 636 170 636 231 C 636 250 627 273 621 283 L 621 285 C 676 324 697 375 697 423 C 697 461 684 497 661 525 L 661 528 C 782 578 812 704 812 769 L 812 910 L 188 910"/>
+</g>
+</svg>
diff --git a/glchess/data/pieces/simple/blackQueen.svg b/glchess/data/pieces/simple/blackQueen.svg
new file mode 100644
index 0000000..c8a3b0e
--- /dev/null
+++ b/glchess/data/pieces/simple/blackQueen.svg
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+    Image is based on original work of Max Froumentin (mf w3 org) which
+    used to be available at:
+
+    http://people.w3.org/maxf/ChessGML/ChessSophia.svg
+
+    These images are under the W3C Software Notice and License, see
+    COPYING.html for details.
+-->
+<svg xmlns="http://www.w3.org/2000/svg"; xmlns:xlink="http://www.w3.org/1999/xlink"; width="1000pt" height="1000pt" viewBox="0 0 1000 1000" version="1.1">
+<g id="surface0">
+<path style="stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke:white;stroke-opacity:1;stroke-miterlimit:10;fill-rule:nonzero;fill:white;fill-opacity:1;" d="M 55 228 C 55 192 85 162 121 162 C 157 162 187 192 187 228 C 187 238 184 257 169 273 L 289 505 L 289 243 C 264 238 238 218 238 179 C 238 143 267 114 303 114 C 339 114 368 143 368 179 C 368 203 361 216 340 233 L 431 495 L 469 213 C 452 204 435 188 435 154 C 435 118 464 89 500 89 C 536 89 565 118 565 154 C 565 188 548 204 531 213 L 569 495 L 660 233 C 639 216 632 203 632 179 C 632 143 661 114 697 114 C 733 114 762 143 762 179 C 762 218 736 238 711 243 L 711 505 L 831 273 C 816 257 813 238 813 228 C 813 192 843 162 879 162 C 915 162 945 192 945 228 C 945 260 923 291 882 294 L 824 599 C 822 612 821 621 821 626 C 821 636 821 656 801 666 C 761 686 740 737 740 767 C 740 794 754 822 764 840 C 768 848 771 855 771 858 C 771 911 591 939 500 939 C 409 939 229 911 229 858 C 229 855 232 848 236 840 C 246 822 260 794 260 7
 67 C 260 737 239 686 199 666 C 179 656 179 636 179 626 C 179 621 178 612 176 599 L 118 294 C 77 291 55 260 55 228"/>
+<path style="stroke:none;fill-rule:nonzero;fill:black;fill-opacity:1;" d="M 55 228 C 55 192 85 162 121 162 C 157 162 187 192 187 228 C 187 238 184 257 169 273 L 289 505 L 289 243 C 264 238 238 218 238 179 C 238 143 267 114 303 114 C 339 114 368 143 368 179 C 368 203 361 216 340 233 L 431 495 L 469 213 C 452 204 435 188 435 154 C 435 118 464 89 500 89 C 536 89 565 118 565 154 C 565 188 548 204 531 213 L 569 495 L 660 233 C 639 216 632 203 632 179 C 632 143 661 114 697 114 C 733 114 762 143 762 179 C 762 218 736 238 711 243 L 711 505 L 831 273 C 816 257 813 238 813 228 C 813 192 843 162 879 162 C 915 162 945 192 945 228 C 945 260 923 291 882 294 L 824 599 C 822 612 821 621 821 626 C 821 636 821 656 801 666 C 761 686 740 737 740 767 C 740 794 754 822 764 840 C 768 848 771 855 771 858 C 771 911 591 939 500 939 C 409 939 229 911 229 858 C 229 855 232 848 236 840 C 246 822 260 794 260 767 C 260 737 239 686 199 666 C 179 656 179 636 179 626 C 179 621 178 612 176 599 L 118 294 C 77 
 291 55 260 55 228 M 287 670 C 298 684 302 697 305 711 C 359 697 440 691 500 691 C 560 691 641 697 695 711 C 698 697 702 684 713 670 L 713 667 C 656 652 570 643 500 643 C 430 643 344 652 287 667 L 287 670 M 309 811 C 320 820 328 827 338 842 C 395 831 452 827 500 827 C 548 827 605 831 662 842 C 672 827 680 820 691 811 L 691 807 C 626 793 558 787 500 787 C 442 787 374 793 309 807 L 309 811"/>
+</g>
+</svg>
diff --git a/glchess/data/pieces/simple/blackRook.svg b/glchess/data/pieces/simple/blackRook.svg
new file mode 100644
index 0000000..e60300e
--- /dev/null
+++ b/glchess/data/pieces/simple/blackRook.svg
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+    Image is based on original work of Max Froumentin (mf w3 org) which
+    used to be available at:
+
+    http://people.w3.org/maxf/ChessGML/ChessSophia.svg
+
+    These images are under the W3C Software Notice and License, see
+    COPYING.html for details.
+-->
+<svg xmlns="http://www.w3.org/2000/svg"; xmlns:xlink="http://www.w3.org/1999/xlink"; width="1000pt" height="1000pt" viewBox="0 0 1000 1000" version="1.1">
+<g id="surface0">
+<path style="stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke:white;stroke-opacity:1;stroke-miterlimit:10;fill-rule:nonzero;fill:white;fill-opacity:1;" d="M 188 910 L 188 741 L 308 632 L 308 396 L 188 316 L 188 115 L 368 115 L 368 195 L 409 195 L 409 115 L 591 115 L 591 195 L 632 195 L 632 115 L 812 115 L 812 316 L 692 396 L 692 632 L 812 741 L 812 910 L 188 910"/>
+<path style="stroke:none;fill-rule:nonzero;fill:black;fill-opacity:1;" d="M 188 910 L 188 741 L 308 632 L 308 396 L 188 316 L 188 115 L 368 115 L 368 195 L 409 195 L 409 115 L 591 115 L 591 195 L 632 195 L 632 115 L 812 115 L 812 316 L 692 396 L 692 632 L 812 741 L 812 910 L 188 910 M 348 658 L 652 658 L 652 618 L 348 618 L 348 658 M 348 416 L 652 416 L 652 376 L 348 376 L 348 41"/>
+</g>
+</svg>
diff --git a/glchess/data/pieces/simple/whiteBishop.svg b/glchess/data/pieces/simple/whiteBishop.svg
new file mode 100644
index 0000000..ac94846
--- /dev/null
+++ b/glchess/data/pieces/simple/whiteBishop.svg
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+    Image is based on original work of Max Froumentin (mf w3 org) which
+    used to be available at:
+
+    http://people.w3.org/maxf/ChessGML/ChessSophia.svg
+
+    These images are under the W3C Software Notice and License, see
+    COPYING.html for details.
+-->
+<svg xmlns="http://www.w3.org/2000/svg"; xmlns:xlink="http://www.w3.org/1999/xlink"; width="1000pt" height="1000pt" viewBox="0 0 1000 1000" version="1.1">
+<g id="surface0">
+<path style="stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke:white;stroke-opacity:1;stroke-miterlimit:10;fill-rule:nonzero;fill:white;fill-opacity:1;" d="M 56 782 C 70 779 84 775 102 769 C 130 759 162 751 194 751 C 206 751 220 751 235 753 C 251 755 269 756 286 756 C 327 756 383 751 416 728 L 416 725 L 308 671 L 339 580 C 298 558 268 516 268 457 C 268 382 314 314 384 273 C 426 248 436 238 449 222 L 449 219 C 426 204 410 181 410 147 C 410 97 450 57 500 57 C 550 57 590 97 590 147 C 590 181 574 204 551 219 L 551 222 C 564 238 574 248 616 273 C 686 314 732 382 732 457 C 732 516 702 558 661 580 L 692 671 L 584 725 L 584 728 C 617 751 673 756 714 756 C 731 756 749 755 765 753 C 780 751 794 751 806 751 C 838 751 870 759 898 769 C 916 775 930 779 944 782 L 893 943 C 872 939 857 936 833 928 C 798 916 747 911 689 911 C 650 911 600 910 574 900 C 540 887 522 872 500 853 C 478 872 460 887 426 900 C 400 910 350 911 311 911 C 253 911 202 916 167 928 C 143 936 128 939 107 943
  L 56 782"/>
+<path style="stroke:none;fill-rule:nonzero;fill:black;fill-opacity:1;" d="M 56 782 C 70 779 84 775 102 769 C 130 759 162 751 194 751 C 206 751 220 751 235 753 C 251 755 269 756 286 756 C 327 756 383 751 416 728 L 416 725 L 308 671 L 339 580 C 298 558 268 516 268 457 C 268 382 314 314 384 273 C 426 248 436 238 449 222 L 449 219 C 426 204 410 181 410 147 C 410 97 450 57 500 57 C 550 57 590 97 590 147 C 590 181 574 204 551 219 L 551 222 C 564 238 574 248 616 273 C 686 314 732 382 732 457 C 732 516 702 558 661 580 L 692 671 L 584 725 L 584 728 C 617 751 673 756 714 756 C 731 756 749 755 765 753 C 780 751 794 751 806 751 C 838 751 870 759 898 769 C 916 775 930 779 944 782 L 893 943 C 872 939 857 936 833 928 C 798 916 747 911 689 911 C 650 911 600 910 574 900 C 540 887 522 872 500 853 C 478 872 460 887 426 900 C 400 910 350 911 311 911 C 253 911 202 916 167 928 C 143 936 128 939 107 943 L 56 782 M 127 832 L 147 883 C 168 872 190 866 208 863 C 247 855 280 852 314 851 C 357 850 451 
 841 500 792 C 549 841 643 850 686 851 C 720 852 753 855 792 863 C 810 866 832 872 853 883 L 873 832 C 838 820 798 811 748 809 C 719 808 670 805 637 800 C 583 792 568 782 540 762 L 460 762 C 432 782 417 792 363 800 C 330 805 281 808 252 809 C 202 811 162 820 127 832 M 328 456 C 328 496 335 530 380 550 C 419 537 457 530 500 530 C 543 530 581 537 620 550 C 665 530 672 496 672 456 C 672 382 620 334 576 308 C 547 291 519 274 501 239 L 499 239 C 481 274 453 291 424 308 C 380 334 328 382 328 456 M 379 621 C 404 611 452 606 500 606 C 548 606 596 611 621 621 C 621 621 615 603 611 591 C 591 581 530 575 500 575 C 470 575 409 581 389 591 C 385 603 379 621 379 621 M 399 662 C 439 668 460 671 500 671 C 540 671 561 668 601 662 L 601 660 C 561 654 540 651 500 651 C 460 651 439 654 399 660 L 399 662 M 428 449 L 428 389 L 470 389 L 470 347 L 530 347 L 530 389 L 572 389 L 572 449 L 530 449 L 530 491 L 470 491 L 470 449 L 428 449 M 470 147 C 470 164 483 177 500 177 C 517 177 530 164 530 147 C 5
 30 130 517 117 500 117 C 483 117 470 130 470 147"/>
+</g>
+</svg>
diff --git a/glchess/data/pieces/simple/whiteKing.svg b/glchess/data/pieces/simple/whiteKing.svg
new file mode 100644
index 0000000..9aa304c
--- /dev/null
+++ b/glchess/data/pieces/simple/whiteKing.svg
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+    Image is based on original work of Max Froumentin (mf w3 org) which
+    used to be available at:
+
+    http://people.w3.org/maxf/ChessGML/ChessSophia.svg
+
+    These images are under the W3C Software Notice and License, see
+    COPYING.html for details.
+-->
+<svg xmlns="http://www.w3.org/2000/svg"; xmlns:xlink="http://www.w3.org/1999/xlink"; width="1000pt" height="1000pt" viewBox="0 0 1000 1000" version="1.1">
+<g id="surface0">
+<path style="stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke:white;stroke-opacity:1;stroke-miterlimit:10;fill-rule:nonzero;fill:white;fill-opacity:1;" d="M 56 495 C 56 403 127 364 208 364 C 269 364 320 384 377 422 L 379 420 C 379 420 368 393 368 358 C 368 308 388 241 470 223 L 470 181 L 410 181 L 410 121 L 470 121 L 470 61 L 530 61 L 530 121 L 590 121 L 590 181 L 530 181 L 530 223 C 612 241 632 308 632 358 C 632 393 621 420 621 420 L 623 422 C 680 384 731 364 792 364 C 873 364 944 403 944 495 C 944 622 869 693 804 730 L 782 868 C 770 898 705 939 500 939 C 295 939 230 898 218 868 L 196 730 C 131 693 56 622 56 495"/>
+<path style="stroke:none;fill-rule:nonzero;fill:black;fill-opacity:1;" d="M 56 495 C 56 403 127 364 208 364 C 269 364 320 384 377 422 L 379 420 C 379 420 368 393 368 358 C 368 308 388 241 470 223 L 470 181 L 410 181 L 410 121 L 470 121 L 470 61 L 530 61 L 530 121 L 590 121 L 590 181 L 530 181 L 530 223 C 612 241 632 308 632 358 C 632 393 621 420 621 420 L 623 422 C 680 384 731 364 792 364 C 873 364 944 403 944 495 C 944 622 869 693 804 730 L 782 868 C 770 898 705 939 500 939 C 295 939 230 898 218 868 L 196 730 C 131 693 56 622 56 495 M 116 505 C 116 599 170 652 225 684 C 291 664 391 656 470 656 C 450 495 289 424 218 424 C 147 424 116 453 116 505 M 258 738 L 268 819 C 357 800 432 797 500 797 C 568 797 643 800 732 819 L 742 738 C 651 717 587 716 500 716 C 413 716 349 717 258 738 M 325 871 C 383 885 440 889 500 889 C 560 889 617 885 675 871 L 675 867 C 617 853 560 849 500 849 C 440 849 383 853 325 867 L 325 871 M 428 365 C 428 416 463 488 498 555 L 502 555 C 537 488 572 416 572
  365 C 572 309 545 283 500 283 C 455 283 428 309 428 365 M 530 656 C 609 656 709 664 775 684 C 830 652 884 599 884 505 C 884 453 853 424 782 424 C 711 424 550 495 530 656"/>
+</g>
+</svg>
diff --git a/glchess/data/pieces/simple/whiteKnight.svg b/glchess/data/pieces/simple/whiteKnight.svg
new file mode 100644
index 0000000..86539c8
--- /dev/null
+++ b/glchess/data/pieces/simple/whiteKnight.svg
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+    Image is based on original work of Max Froumentin (mf w3 org) which
+    used to be available at:
+
+    http://people.w3.org/maxf/ChessGML/ChessSophia.svg
+
+    These images are under the W3C Software Notice and License, see
+    COPYING.html for details.
+-->
+<svg xmlns="http://www.w3.org/2000/svg"; xmlns:xlink="http://www.w3.org/1999/xlink"; width="1000pt" height="1000pt" viewBox="0 0 1000 1000" version="1.1">
+<g id="surface0">
+<path style="stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke:white;stroke-opacity:1;stroke-miterlimit:10;fill-rule:nonzero;fill:white;fill-opacity:1;" d="M 120 642 C 120 608 137 572 160 529 C 182 487 202 434 216 373 C 245 254 278 239 296 233 L 296 146 L 300 146 L 384 213 L 388 213 L 438 123 L 440 123 L 491 230 C 502 227 514 225 526 225 C 732 225 850 577 882 893 L 331 893 C 331 815 359 763 384 719 C 403 685 420 652 420 619 L 420 609 L 305 693 C 278 726 249 741 226 741 C 211 741 198 734 191 721 C 187 722 183 722 179 722 C 147 722 120 694 120 642"/>
+<path style="stroke:none;fill-rule:nonzero;fill:black;fill-opacity:1;" d="M 120 642 C 120 608 137 572 160 529 C 182 487 202 434 216 373 C 245 254 278 239 296 233 L 296 146 L 300 146 L 384 213 L 388 213 L 438 123 L 440 123 L 491 230 C 502 227 514 225 526 225 C 732 225 850 577 882 893 L 331 893 C 331 815 359 763 384 719 C 403 685 420 652 420 619 L 420 609 L 305 693 C 278 726 249 741 226 741 C 211 741 198 734 191 721 C 187 722 183 722 179 722 C 147 722 120 694 120 642 M 173 638 C 173 663 179 669 190 669 C 194 669 197 668 202 666 C 211 651 220 638 238 637 C 244 637 252 638 252 642 C 252 644 250 646 247 648 C 236 655 235 667 235 675 C 235 679 235 682 235 682 C 247 674 270 657 296 635 C 340 598 401 552 440 527 C 459 515 477 503 490 469 C 498 478 501 489 501 501 C 501 530 483 563 471 574 C 474 587 476 597 476 610 C 476 664 448 721 420 767 C 406 789 396 812 394 836 L 813 836 C 746 389 609 281 518 281 C 498 281 479 286 464 294 L 437 239 L 415 277 L 319 300 L 308 289 C 294 300 281 329
  272 371 C 262 419 242 491 203 559 C 184 592 173 620 173 638 M 191 626 C 191 621 198 593 228 593 C 234 593 243 599 243 606 C 243 612 234 615 228 617 C 222 619 222 619 214 628 C 210 633 205 639 201 639 C 196 639 191 632 191 626 M 295 437 C 295 360 332 342 363 327 C 369 324 375 321 380 318 C 380 318 381 326 381 338 C 381 413 352 437 310 437 L 295 437"/>
+</g>
+</svg>
diff --git a/glchess/data/pieces/simple/whitePawn.svg b/glchess/data/pieces/simple/whitePawn.svg
new file mode 100644
index 0000000..49a9b35
--- /dev/null
+++ b/glchess/data/pieces/simple/whitePawn.svg
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+    Image is based on original work of Max Froumentin (mf w3 org) which
+    used to be available at:
+
+    http://people.w3.org/maxf/ChessGML/ChessSophia.svg
+
+    These images are under the W3C Software Notice and License, see
+    COPYING.html for details.
+-->
+<svg xmlns="http://www.w3.org/2000/svg"; xmlns:xlink="http://www.w3.org/1999/xlink"; width="1000pt" height="1000pt" viewBox="0 0 1000 1000" version="1.1">
+<g id="surface0">
+<path style="stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke:white;stroke-opacity:1;stroke-miterlimit:10;fill-rule:nonzero;fill:white;fill-opacity:1;" d="M 188 910 L 188 769 C 188 704 218 578 339 528 L 339 525 C 316 497 303 461 303 423 C 303 375 324 324 379 285 L 379 283 C 373 273 364 250 364 231 C 364 170 401 105 500 105 C 599 105 636 170 636 231 C 636 250 627 273 621 283 L 621 285 C 676 324 697 375 697 423 C 697 461 684 497 661 525 L 661 528 C 782 578 812 704 812 769 L 812 910 L 188 910"/>
+<path style="stroke:none;fill-rule:nonzero;fill:black;fill-opacity:1;" d="M 188 910 L 188 769 C 188 704 218 578 339 528 L 339 525 C 316 497 303 461 303 423 C 303 375 324 324 379 285 L 379 283 C 373 273 364 250 364 231 C 364 170 401 105 500 105 C 599 105 636 170 636 231 C 636 250 627 273 621 283 L 621 285 C 676 324 697 375 697 423 C 697 461 684 497 661 525 L 661 528 C 782 578 812 704 812 769 L 812 910 L 188 910 M 248 850 L 752 850 L 752 749 C 752 672 685 576 581 548 L 581 544 C 610 514 633 470 633 424 C 633 377 611 331 550 306 L 550 304 C 566 289 576 263 576 239 C 576 201 554 165 500 165 C 446 165 424 201 424 239 C 424 263 434 289 450 304 L 450 306 C 389 331 367 377 367 424 C 367 470 390 514 419 544 L 419 548 C 315 576 248 672 248 749 L 248 850"/>
+</g>
+</svg>
diff --git a/glchess/data/pieces/simple/whiteQueen.svg b/glchess/data/pieces/simple/whiteQueen.svg
new file mode 100644
index 0000000..843f06d
--- /dev/null
+++ b/glchess/data/pieces/simple/whiteQueen.svg
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+    Image is based on original work of Max Froumentin (mf w3 org) which
+    used to be available at:
+
+    http://people.w3.org/maxf/ChessGML/ChessSophia.svg
+
+    These images are under the W3C Software Notice and License, see
+    COPYING.html for details.
+-->
+<svg xmlns="http://www.w3.org/2000/svg"; xmlns:xlink="http://www.w3.org/1999/xlink"; width="1000pt" height="1000pt" viewBox="0 0 1000 1000" version="1.1">
+<g id="surface0">
+<path style="stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke:white;stroke-opacity:1;stroke-miterlimit:10;fill-rule:nonzero;fill:white;fill-opacity:1;" d="M 55 228 C 55 192 85 162 121 162 C 157 162 187 192 187 228 C 187 238 184 257 169 273 L 289 505 L 289 243 C 264 238 238 218 238 179 C 238 143 267 114 303 114 C 339 114 368 143 368 179 C 368 203 361 216 340 233 L 431 495 L 469 213 C 452 204 435 188 435 154 C 435 118 464 89 500 89 C 536 89 565 118 565 154 C 565 188 548 204 531 213 L 569 495 L 660 233 C 639 216 632 203 632 179 C 632 143 661 114 697 114 C 733 114 762 143 762 179 C 762 218 736 238 711 243 L 711 505 L 831 273 C 816 257 813 238 813 228 C 813 192 843 162 879 162 C 915 162 945 192 945 228 C 945 260 923 291 882 294 L 824 599 C 822 612 821 621 821 626 C 821 636 821 656 801 666 C 761 686 740 737 740 767 C 740 794 754 822 764 840 C 768 848 771 855 771 858 C 771 911 591 939 500 939 C 409 939 229 911 229 858 C 229 855 232 848 236 840 C 246 822 260 794 260 7
 67 C 260 737 239 686 199 666 C 179 656 179 636 179 626 C 179 621 178 612 176 599 L 118 294 C 77 291 55 260 55 228"/>
+<path style="stroke:none;fill-rule:nonzero;fill:black;fill-opacity:1;" d="M 55 228 C 55 192 85 162 121 162 C 157 162 187 192 187 228 C 187 238 184 257 169 273 L 289 505 L 289 243 C 264 238 238 218 238 179 C 238 143 267 114 303 114 C 339 114 368 143 368 179 C 368 203 361 216 340 233 L 431 495 L 469 213 C 452 204 435 188 435 154 C 435 118 464 89 500 89 C 536 89 565 118 565 154 C 565 188 548 204 531 213 L 569 495 L 660 233 C 639 216 632 203 632 179 C 632 143 661 114 697 114 C 733 114 762 143 762 179 C 762 218 736 238 711 243 L 711 505 L 831 273 C 816 257 813 238 813 228 C 813 192 843 162 879 162 C 915 162 945 192 945 228 C 945 260 923 291 882 294 L 824 599 C 822 612 821 621 821 626 C 821 636 821 656 801 666 C 761 686 740 737 740 767 C 740 794 754 822 764 840 C 768 848 771 855 771 858 C 771 911 591 939 500 939 C 409 939 229 911 229 858 C 229 855 232 848 236 840 C 246 822 260 794 260 767 C 260 737 239 686 199 666 C 179 656 179 636 179 626 C 179 621 178 612 176 599 L 118 294 C 77 
 291 55 260 55 228 M 96 228 C 96 242 107 253 121 253 C 135 253 146 242 146 228 C 146 214 135 203 121 203 C 107 203 96 214 96 228 M 179 390 L 218 610 C 224 612 229 612 235 612 C 257 612 277 601 287 585 L 183 389 L 179 390 M 274 654 C 279 660 283 669 283 669 C 362 651 439 641 500 641 C 561 641 638 651 717 669 C 717 669 721 660 726 654 C 716 651 690 636 677 620 C 660 625 647 627 634 627 C 606 627 585 616 558 599 C 540 609 520 615 500 615 C 480 615 460 609 442 599 C 415 616 394 627 366 627 C 353 627 340 625 323 620 C 310 636 284 651 274 654 M 278 179 C 278 193 289 204 303 204 C 317 204 328 193 328 179 C 328 165 317 154 303 154 C 289 154 278 165 278 179 M 301 710 C 311 733 315 752 315 769 C 315 784 313 795 309 808 L 311 810 C 367 796 439 790 500 790 C 561 790 633 796 689 810 L 691 808 C 687 795 685 784 685 769 C 685 752 689 733 699 710 C 655 698 571 686 500 686 C 429 686 345 698 301 710 M 331 351 L 335 573 C 344 577 355 579 364 579 C 381 579 397 572 408 560 L 335 350 L 331 351 M 3
 46 863 C 394 877 467 879 500 879 C 533 879 606 877 654 863 L 654 861 C 606 847 534 845 500 845 C 466 845 394 847 346 861 L 346 863 M 463 546 C 473 554 487 557 500 557 C 513 557 527 554 537 546 L 502 315 L 498 315 L 463 546 M 475 154 C 475 168 486 179 500 179 C 514 179 525 168 525 154 C 525 140 514 129 500 129 C 486 129 475 140 475 154 M 592 560 C 603 572 619 579 636 579 C 645 579 656 577 665 573 L 669 351 L 665 350 L 592 560 M 672 179 C 672 193 683 204 697 204 C 711 204 722 193 722 179 C 722 165 711 154 697 154 C 683 154 672 165 672 179 M 713 585 C 723 601 743 612 765 612 C 771 612 776 612 782 610 L 821 390 L 817 389 L 713 585 M 854 228 C 854 242 865 253 879 253 C 893 253 904 242 904 228 C 904 214 893 203 879 203 C 865 203 854 214 854 228"/>
+</g>
+</svg>
diff --git a/glchess/data/pieces/simple/whiteRook.svg b/glchess/data/pieces/simple/whiteRook.svg
new file mode 100644
index 0000000..18cea50
--- /dev/null
+++ b/glchess/data/pieces/simple/whiteRook.svg
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+    Image is based on original work of Max Froumentin (mf w3 org) which
+    used to be available at:
+
+    http://people.w3.org/maxf/ChessGML/ChessSophia.svg
+
+    These images are under the W3C Software Notice and License, see
+    COPYING.html for details.
+-->
+<svg xmlns="http://www.w3.org/2000/svg"; xmlns:xlink="http://www.w3.org/1999/xlink"; width="1000pt" height="1000pt" viewBox="0 0 1000 1000" version="1.1">
+<g id="surface0">
+<path style="stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke:white;stroke-opacity:1;stroke-miterlimit:10;fill-rule:nonzero;fill:white;fill-opacity:1;" d="M 188 910 L 188 741 L 308 632 L 308 396 L 188 316 L 188 115 L 368 115 L 368 195 L 409 195 L 409 115 L 591 115 L 591 195 L 632 195 L 632 115 L 812 115 L 812 316 L 692 396 L 692 632 L 812 741 L 812 910 L 188 910"/>
+<path style="stroke:none;fill-rule:nonzero;fill:black;fill-opacity:1;" d="M 188 910 L 188 741 L 308 632 L 308 396 L 188 316 L 188 115 L 368 115 L 368 195 L 409 195 L 409 115 L 591 115 L 591 195 L 632 195 L 632 115 L 812 115 L 812 316 L 692 396 L 692 632 L 812 741 L 812 910 L 188 910 M 248 850 L 752 850 L 752 810 L 248 810 L 248 850 M 248 275 L 368 356 L 632 356 L 752 275 L 752 175 L 692 175 L 692 255 L 531 255 L 531 175 L 469 175 L 469 255 L 308 255 L 308 175 L 248 175 L 248 275 M 278 750 L 722 750 L 632 669 L 368 669 L 278 750 M 368 598 L 632 598 L 632 427 L 368 427 L 368 598"/>
+</g>
+</svg>
diff --git a/glchess/data/preferences.ui b/glchess/data/preferences.ui
index a70a179..e3d3994 100644
--- a/glchess/data/preferences.ui
+++ b/glchess/data/preferences.ui
@@ -139,6 +139,7 @@
               <object class="GtkVBox" id="view_box">
                 <property name="visible">True</property>
                 <property name="border_width">10</property>
+                <property name="orientation">vertical</property>
                 <child>
                   <object class="GtkCheckButton" id="show_3d">
                     <property name="label" translatable="yes" comments="Preferences Dialog: Check box for selecting if 3D view is available">3_D Chess View</property>
@@ -194,6 +195,44 @@
                   </packing>
                 </child>
                 <child>
+                  <object class="GtkTable" id="theme_table">
+                    <property name="visible">True</property>
+                    <property name="n_columns">2</property>
+                    <property name="column_spacing">5</property>
+                    <property name="row_spacing">5</property>
+                    <child>
+                      <object class="GtkLabel" id="piece_style_label">
+                        <property name="visible">True</property>
+                        <property name="xalign">0</property>
+                        <property name="label" translatable="yes" comments="Preferences Dialog: Label before piece style combo box">Piece Style:</property>
+                      </object>
+                      <packing>
+                        <property name="x_options">GTK_FILL</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkComboBox" id="piece_style_combo">
+                        <property name="visible">True</property>
+                        <signal name="changed" handler="_on_piece_style_combo_changed"/>
+                        <child>
+                          <object class="GtkCellRendererText" id="cellrenderertext4"/>
+                          <attributes>
+                            <attribute name="text">0</attribute>
+                          </attributes>
+                        </child>
+                      </object>
+                      <packing>
+                        <property name="left_attach">1</property>
+                        <property name="right_attach">2</property>
+                        <property name="x_options">GTK_FILL</property>
+                      </packing>
+                    </child>
+                  </object>
+                  <packing>
+                    <property name="position">2</property>
+                  </packing>
+                </child>
+                <child>
                   <object class="GtkCheckButton" id="show_toolbar">
                     <property name="label" translatable="yes" comments="Preferences Dialog: Check box for selecting if toolbar is visible">Show _Toolbar</property>
                     <property name="visible">True</property>
@@ -207,7 +246,7 @@
                   <packing>
                     <property name="expand">False</property>
                     <property name="fill">False</property>
-                    <property name="position">2</property>
+                    <property name="position">3</property>
                   </packing>
                 </child>
                 <child>
@@ -224,7 +263,7 @@
                   <packing>
                     <property name="expand">False</property>
                     <property name="fill">False</property>
-                    <property name="position">3</property>
+                    <property name="position">4</property>
                   </packing>
                 </child>
                 <child>
@@ -241,7 +280,7 @@
                   <packing>
                     <property name="expand">False</property>
                     <property name="fill">False</property>
-                    <property name="position">4</property>
+                    <property name="position">5</property>
                   </packing>
                 </child>
                 <child>
@@ -258,7 +297,7 @@
                   <packing>
                     <property name="expand">False</property>
                     <property name="fill">False</property>
-                    <property name="position">5</property>
+                    <property name="position">6</property>
                   </packing>
                 </child>
               </object>
@@ -316,19 +355,19 @@
   </object>
   <object class="GtkListStore" id="liststore1">
     <columns>
-      <!-- column-name item text -->
+      <!-- column-name item -->
       <column type="gchararray"/>
     </columns>
   </object>
   <object class="GtkListStore" id="liststore2">
     <columns>
-      <!-- column-name item text -->
+      <!-- column-name item -->
       <column type="gchararray"/>
     </columns>
   </object>
   <object class="GtkListStore" id="liststore3">
     <columns>
-      <!-- column-name item text -->
+      <!-- column-name item -->
       <column type="gchararray"/>
     </columns>
   </object>
diff --git a/glchess/src/lib/config.py b/glchess/src/lib/config.py
index 5c7bb6b..834e753 100644
--- a/glchess/src/lib/config.py
+++ b/glchess/src/lib/config.py
@@ -74,6 +74,7 @@ _defaults = {'show_toolbar':                     True,
              'show_history':                     True,
              'maximised':                        False,
              'fullscreen':                       False,
+             'piece_style':                      'simple',
              'show_3d':                          False,
              'show_3d_smooth':                   False,             
              'show_move_hints':                  True,
diff --git a/glchess/src/lib/display.py b/glchess/src/lib/display.py
index 3e9481d..4db94f1 100644
--- a/glchess/src/lib/display.py
+++ b/glchess/src/lib/display.py
@@ -90,7 +90,8 @@ class SceneCairo(scene.SceneFeedback, scene.human.SceneHumanInput):
                          chess.board.BISHOP: 'bishop', chess.board.QUEEN: 'queen', chess.board.KING: 'king'}[piece.getType()]
             chessSet = {chess.board.WHITE: 'white', chess.board.BLACK: 'black'}[piece.getColour()]
             p = CairoPiece(self, piece)
-            p.model = self.controller.addChessPiece(chessSet, pieceName, location, p)
+            style = piecesStyle = config.get('piece_style')
+            p.model = self.controller.addChessPiece(chessSet, pieceName, location, p, style=style)
             self.pieces[piece] = p
 
         # Move the model
@@ -336,6 +337,7 @@ class View(ui.ViewFeedback):
         # This should be cleaned up
         self.scene = SceneCairo(self)
         config.watch('board_view', self.__onBoardViewChanged)
+        config.watch('piece_style', self.__onPiecesStyleChanged)
 
         # Look for game events to update the scene
         movePlayer = MovePlayer(self)
@@ -355,6 +357,9 @@ class View(ui.ViewFeedback):
     def __onBoardViewChanged(self, key, value):
         self.updateRotation()
 
+    def __onPiecesStyleChanged(self, key, value):
+        self.updatePiecesStyle()
+
     def _updateHighlight(self, coord):
         if self.moveNumber == -1:
             player = self.game.getCurrentPlayer()
@@ -419,6 +424,10 @@ class View(ui.ViewFeedback):
 
         self.scene.controller.setBoardRotation(rotation, boardView == 'facetoface', animate)
 
+    def updatePiecesStyle(self):
+        piecesStyle = config.get('piece_style')
+        self.scene.controller.setPiecesStyle(piecesStyle)
+    
     def _pieceMoved(self, piece):
         """
         """
diff --git a/glchess/src/lib/gtkui/dialogs.py b/glchess/src/lib/gtkui/dialogs.py
index 3b8f7c1..d8ca8f1 100644
--- a/glchess/src/lib/gtkui/dialogs.py
+++ b/glchess/src/lib/gtkui/dialogs.py
@@ -634,9 +634,21 @@ class GtkPreferencesDialog:
             iter = promotionModel.append()
             promotionModel.set(iter, 0, label, 1, key)
             
+        # Make model for piece styles
+        pieceStyleModel = gtk.ListStore(str, str)
+        widget = self.__gui.get_object('piece_style_combo')
+        widget.set_model(pieceStyleModel)
+                     # Translators: a simple piece set will be used in 2d mode
+        view_list = [('simple', _('Simple')),
+                     # Translators: a fancy piece set will be used in 2d mode
+                     ('fancy',  _('Fancy'))]
+        for (key, label) in view_list:
+            iter = pieceStyleModel.append()
+            pieceStyleModel.set(iter, 0, label, 1, key)
+
         # Watch for config changes
-        for key in ['show_3d', 'show_3d_smooth', 'show_toolbar', 'show_history', 
-                    'show_move_hints', 'show_numbering',
+        for key in ['show_3d', 'show_3d_smooth', 'piece_style', 'show_toolbar',
+                    'show_history', 'show_move_hints', 'show_numbering',
                     'move_format', 'board_view', 'promotion_type']:
             glchess.config.watch(key, self.__applyConfig)
             try:
@@ -652,10 +664,17 @@ class GtkPreferencesDialog:
         if name == 'show_3d':
             self.__gui.get_object('show_3d').set_active(value)
             self.__gui.get_object('show_3d_smooth').set_sensitive(value)            
+            self.__gui.get_object('piece_style_combo').set_sensitive(not value)            
 
         elif name == 'show_3d_smooth':
             self.__gui.get_object('show_3d_smooth').set_active(value)
             
+        elif name == 'piece_style':
+            widget = self.__gui.get_object('piece_style_combo')
+            for row in widget.get_model():
+                if row[1] == value:
+                    widget.set_active_iter(row.iter)
+                
         elif name == 'show_toolbar':
             self.__gui.get_object('show_toolbar').set_active(value)
                 
@@ -705,6 +724,16 @@ class GtkPreferencesDialog:
         self.setVisible(False)
         return True
 
+    def _on_piece_style_combo_changed(self, widget):
+        """Gtk+ callback"""
+        model = widget.get_model()
+        iter = widget.get_active_iter()
+        if iter is None:
+            return
+        data = model.get(iter, 1)
+        if data[0] is not None:
+            glchess.config.set('piece_style', data[0])
+
     def _on_move_format_combo_changed(self, widget):
         """Gtk+ callback"""
         model = widget.get_model()
diff --git a/glchess/src/lib/gtkui/gtkui.py b/glchess/src/lib/gtkui/gtkui.py
index 08e0121..790a484 100644
--- a/glchess/src/lib/gtkui/gtkui.py
+++ b/glchess/src/lib/gtkui/gtkui.py
@@ -224,9 +224,8 @@ class GtkUI(glchess.ui.UI):
         
         # Watch for config changes
         for key in ['show_toolbar', 'show_history', 'fullscreen',
-                    'show_3d', 'show_3d_smooth', 'show_comments', 'show_numbering',
-                    'show_move_hints',
-                    'width', 'height',
+                    'show_3d', 'show_3d_smooth', 'piece_style', 'show_comments',
+                    'show_numbering', 'show_move_hints', 'width', 'height',
                     'move_format', 'promotion_type', 'board_view',
                     'enable_networking']:
             glchess.config.watch(key, self.__applyConfig)
@@ -368,7 +367,7 @@ class GtkUI(glchess.ui.UI):
         """        
         # Load configuration
         for name in ['show_toolbar', 'show_history', 'show_3d', 'show_3d_smooth',
-                     'show_comments', 'show_numbering', 'show_move_hints',
+                     'piece_style', 'show_comments', 'show_numbering', 'show_move_hints',
                      'move_format', 'promotion_type', 'board_view', 'maximised',
                      'enable_networking']:
             try:
@@ -555,6 +554,9 @@ Please contact your system administrator to resolve these problems, until then y
                 value = False
             self.view.feedback.showSmooth(value)
                 
+        elif name == 'piece_style':
+            pass
+
         elif name == 'show_comments':
             self.view.setShowComments(value)
 
diff --git a/glchess/src/lib/scene/cairo/Makefile.am b/glchess/src/lib/scene/cairo/Makefile.am
index 834fc0c..61dfa48 100644
--- a/glchess/src/lib/scene/cairo/Makefile.am
+++ b/glchess/src/lib/scene/cairo/Makefile.am
@@ -1,6 +1,5 @@
 glchessdir = $(pythondir)/glchess/scene/cairo
 glchess_PYTHON = \
-	__init__.py	\
-	pieces.py	
+	__init__.py
 
 -include $(top_srcdir)/git.mk
diff --git a/glchess/src/lib/scene/cairo/__init__.py b/glchess/src/lib/scene/cairo/__init__.py
index ae0a242..5d7609c 100644
--- a/glchess/src/lib/scene/cairo/__init__.py
+++ b/glchess/src/lib/scene/cairo/__init__.py
@@ -1,11 +1,12 @@
 # -*- coding: utf-8 -*-
+import os.path
+
 import math
 import cairo
+import rsvg
 
 import glchess.scene
 
-import pieces
-
 from gettext import gettext as _
 
 BACKGROUND_COLOUR    = (0.53, 0.63, 0.75)
@@ -27,7 +28,7 @@ class ChessPiece(glchess.scene.ChessPiece):
     """
     """
 
-    def __init__(self, scene, name, coord, feedback):
+    def __init__(self, scene, name, coord, feedback, style='simple'):
         """
         """
         self.scene = scene
@@ -38,6 +39,8 @@ class ChessPiece(glchess.scene.ChessPiece):
         self.targetPos   = None
         self.moving = False
         self.delete = False # Delete once moved to location
+
+        self.setStyle(style)
         
     def __coordToLocation(self, coord):
         """
@@ -47,6 +50,14 @@ class ChessPiece(glchess.scene.ChessPiece):
         
         return (float(rank), float(file))
 
+    def setStyle(self, style):
+        self.style = style
+        self.path = os.path.join(glchess.defaults.BASE_DIR, 'pieces', style, self.name + '.svg')
+        try:
+            self.svg = rsvg.Handle(file = self.path)
+        except Exception as e:
+            raise Exception('Error reading %s: %s' % (self.path, e))
+
     def move(self, coord, delete, animate = True):
         """Extends glchess.scene.ChessPiece"""
         if not coord:
@@ -127,28 +138,31 @@ class ChessPiece(glchess.scene.ChessPiece):
     def render(self, context):
         """
         """
-        offset = 0
+        offset = self.scene.PIECE_BORDER
         matrix = context.get_matrix()
         x = (self.pos[0] - 4) * self.scene.squareSize
         y = (3 - self.pos[1]) * self.scene.squareSize
+
         context.translate(x, y)
         context.translate(self.scene.squareSize / 2, self.scene.squareSize / 2)
         context.rotate(-self.scene.angle)
-        context.translate(-self.scene.squareSize / 2, -self.scene.squareSize / 2)
 
         # If Face to Face mode is enabled, we rotate the black player's pieces by 180 degrees
         if self.scene.faceToFace and self.name.find('black') != -1:
             context.rotate(math.pi)
-            offset -= self.scene.pieceSize
-        pieces.piece(self.name, context, self.scene.pieceSize, offset, offset)
-        context.fill()
+            offset = - offset - self.scene.pieceSize + self.scene.squareSize
+        
+        context.translate(-self.scene.squareSize / 2 + offset, -self.scene.squareSize / 2 + offset)
+        context.scale(self.scene.pieceSize/self.svg.props.width, self.scene.pieceSize/self.svg.props.height)
+
+        self.svg.render_cairo(context)
         context.set_matrix(matrix)
 
 class Scene(glchess.scene.Scene):
     """
     """    
     BORDER = 6.0
-    PIECE_BORDER = 2.0
+    PIECE_BORDER = 0.0
 
     def __init__(self, feedback):
         """Constructor for a Cairo scene"""
@@ -163,7 +177,7 @@ class Scene(glchess.scene.Scene):
         self.showNumbering   = False
         self.faceToFace      = False
     
-    def addChessPiece(self, chessSet, name, coord, feedback):
+    def addChessPiece(self, chessSet, name, coord, feedback, style = 'simple'):
         """Add a chess piece model into the scene.
         
         'chessSet' is the name of the chess set (string).
@@ -173,7 +187,7 @@ class Scene(glchess.scene.Scene):
         Returns a reference to this chess piece or raises an exception.
         """
         name = chessSet + name[0].upper() + name[1:]
-        piece = ChessPiece(self, name, coord, feedback)
+        piece = ChessPiece(self, name, coord, feedback, style=style)
         self.pieces.append(piece)
         
         # Redraw the scene
@@ -246,6 +260,12 @@ class Scene(glchess.scene.Scene):
             self.redrawStatic = True
             self.feedback.onRedraw()
 
+    def setPiecesStyle(self, piecesStyle):
+        for piece in self.pieces:
+            piece.setStyle(piecesStyle)
+        self.redrawStatic = True
+        self.feedback.onRedraw()
+    
     def animate(self, timeStep):
         """Extends glchess.scene.Scene"""
         if self.angle == self.targetAngle and len(self._animationQueue) == 0:



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]