summaryrefslogtreecommitdiffstats
path: root/PerlTQt/examples
diff options
context:
space:
mode:
authorTimothy Pearson <[email protected]>2012-01-01 18:29:30 -0600
committerTimothy Pearson <[email protected]>2012-01-01 18:29:30 -0600
commitb2af005db21bd8fd068cb79b2ae700953128af2c (patch)
treeabd0ed633726bf0bbecb57d30e92836c31e02695 /PerlTQt/examples
parentc1b9383f2032d82db5eb8918dca885e37a901dde (diff)
downloadlibtqt-perl-b2af005db21bd8fd068cb79b2ae700953128af2c.tar.gz
libtqt-perl-b2af005db21bd8fd068cb79b2ae700953128af2c.zip
Move PerlQt
Diffstat (limited to 'PerlTQt/examples')
-rw-r--r--PerlTQt/examples/aclock/AnalogClock.pm137
-rw-r--r--PerlTQt/examples/aclock/aclock.pl13
-rw-r--r--PerlTQt/examples/buttongroups/ButtonsGroups.pm104
-rw-r--r--PerlTQt/examples/buttongroups/buttongroups.pl13
-rw-r--r--PerlTQt/examples/dclock/DigitalClock.pm88
-rw-r--r--PerlTQt/examples/dclock/dclock.pl12
-rw-r--r--PerlTQt/examples/drawdemo/drawdemo.pl198
-rw-r--r--PerlTQt/examples/drawlines/drawlines.pl74
-rw-r--r--PerlTQt/examples/forever/forever.pl59
-rw-r--r--PerlTQt/examples/network/httpd/httpd.pl140
-rw-r--r--PerlTQt/examples/opengl/README12
-rw-r--r--PerlTQt/examples/opengl/box/GLBox.pm149
-rw-r--r--PerlTQt/examples/opengl/box/glbox90
-rw-r--r--PerlTQt/examples/opengl/gear/gear267
-rw-r--r--PerlTQt/examples/progress/progress.pl348
-rw-r--r--PerlTQt/examples/richedit/imageCollection.pm1461
-rw-r--r--PerlTQt/examples/richedit/richedit.pl376
17 files changed, 3541 insertions, 0 deletions
diff --git a/PerlTQt/examples/aclock/AnalogClock.pm b/PerlTQt/examples/aclock/AnalogClock.pm
new file mode 100644
index 0000000..0a52c44
--- /dev/null
+++ b/PerlTQt/examples/aclock/AnalogClock.pm
@@ -0,0 +1,137 @@
+package AnalogClock;
+use TQt;
+use TQt::isa qw(TQt::Widget);
+use TQt::slots
+ setTime => ['const TQTime&'],
+ drawClock => ['TQPainter*'],
+ timeout => [];
+use TQt::attributes qw(
+ clickPos
+ _time
+);
+
+#
+# Constructs an analog clock widget that uses an internal TQTimer
+#
+
+sub NEW {
+ shift->SUPER::NEW(@_);
+ _time = TQt::Time::currentTime(); # get current time
+ my $internalTimer = TQt::Timer(this); # create internal timer
+ this->connect($internalTimer, TQT_SIGNAL('timeout()'), TQT_SLOT('timeout()'));
+ $internalTimer->start(5000); # emit signal every 5 seconds
+}
+
+sub mousePressEvent {
+ my $e = shift;
+ if(isTopLevel()) {
+ # Lack of operators is really noticable here
+ my $topLeft = TQt::Point(
+ geometry()->topLeft->x - frameGeometry()->topLeft->x,
+ geometry()->topLeft->y - frameGeometry()->topLeft->y
+ );
+ clickPos = TQt::Point($e->pos->x + $topLeft->x,
+ $e->pos->y + $topLeft->y);
+ }
+}
+
+sub mouseMoveEvent {
+ my $e = shift;
+ if(isTopLevel()) {
+ move(TQt::Point($e->globalPos->x - clickPos->x,
+ $e->globalPos->y - clickPos->y));
+ }
+}
+
+sub setTime {
+ my $t = shift;
+ timeout();
+}
+
+#
+# The TQTimer::timeout() signal is received by this slot.
+#
+
+sub timeout {
+ my $new_time = TQt::Time::currentTime(); # get the current time
+ _time = _time->addSecs(5);
+ if($new_time->minute != _time->minute) { # minute has changed
+ if(autoMask()) {
+ updateMask();
+ } else {
+ update();
+ }
+ }
+}
+
+sub paintEvent {
+ return if autoMask();
+ my $paint = TQt::Painter(this);
+ $paint->setBrush(colorGroup()->foreground);
+ drawClock($paint);
+}
+
+# If clock is transparent, we use updateMask()
+# instead of paintEvent()
+
+sub updateMask { # paint clock mask
+ my $bm = TQt::Bitmap(size());
+ $bm->fill(&color0); # transparent
+
+ my $paint = TQt::Painter;
+ $paint->begin($bm, this);
+ $paint->setBrush(&color1); # use non-transparent color
+ $paint->setPen(&color1);
+
+ drawClock($paint);
+
+ $paint->end;
+ setMask($bm);
+}
+
+#
+# The clock is painted using a 1000x1000 square coordinate system, in
+# the centered square, as big as possible. The painter's pen and
+# brush colors are used.
+#
+sub drawClock {
+ my $paint = shift;
+ $paint->save;
+
+ $paint->setWindow(-500,-500, 1000,1000);
+
+ my $v = $paint->viewport;
+ my $d = min($v->width, $v->height);
+ $paint->setViewport($v->left + ($v->width-$d)/2,
+ $v->top - ($v->height-$d)/2, $d, $d);
+
+ # _time = TQt::Time::currentTime();
+ my $pts = TQt::PointArray();
+
+ $paint->save;
+ $paint->rotate(30*(_time->hour%12-3) + _time->minute/2);
+ $pts->setPoints([-20,0, 0,-20, 300,0, 0,20]);
+ $paint->drawConvexPolygon($pts);
+ $paint->restore;
+
+ $paint->save;
+ $paint->rotate((_time->minute-15)*6);
+ $pts->setPoints([-10,0, 0,-10, 400,0, 0,10]);
+ $paint->drawConvexPolygon($pts);
+ $paint->restore;
+
+ for(1 .. 12) {
+ $paint->drawLine(440,0, 460,0);
+ $paint->rotate(30);
+ }
+
+ $paint->restore;
+}
+
+sub setAutoMask {
+ my $b = shift;
+ setBackgroundMode($b ? &PaletteForeground : &PaletteBackground);
+ TQt::Widget::setAutoMask($b);
+}
+
+1;
diff --git a/PerlTQt/examples/aclock/aclock.pl b/PerlTQt/examples/aclock/aclock.pl
new file mode 100644
index 0000000..b4ae659
--- /dev/null
+++ b/PerlTQt/examples/aclock/aclock.pl
@@ -0,0 +1,13 @@
+#!/usr/bin/perl -w
+use strict;
+use TQt;
+use AnalogClock;
+
+my $a = TQt::Application(\@ARGV);
+my $clock = AnalogClock;
+$clock->setAutoMask(1) if @ARGV and $ARGV[0] eq '-transparent';
+$clock->resize(100, 100);
+$a->setMainWidget($clock);
+$clock->setCaption("PerlTQt example - Analog Clock");
+$clock->show;
+exit $a->exec;
diff --git a/PerlTQt/examples/buttongroups/ButtonsGroups.pm b/PerlTQt/examples/buttongroups/ButtonsGroups.pm
new file mode 100644
index 0000000..106cf1b
--- /dev/null
+++ b/PerlTQt/examples/buttongroups/ButtonsGroups.pm
@@ -0,0 +1,104 @@
+package ButtonsGroups;
+use strict;
+use TQt;
+use TQt::isa qw(TQt::Widget);
+use TQt::slots
+ slotChangeGrp3State => [];
+use TQt::attributes qw(
+ state
+ rb21
+ rb22
+ rb23
+);
+
+#
+# Constructor
+#
+# Creates all child widgets of the ButtonGroups window
+#
+
+sub NEW {
+ shift->SUPER::NEW(@_);
+
+ # Create Widgets which allow easy layouting
+ my $vbox = TQt::VBoxLayout(this);
+ my $box1 = TQt::HBoxLayout($vbox);
+ my $box2 = TQt::HBoxLayout($vbox);
+
+ # ------- first group
+
+ # Create an exclusive button group
+ my $bgrp1 = TQt::ButtonGroup(1, &Horizontal, "Button Group &1 (exclusive)", this);
+ $box1->addWidget($bgrp1);
+ $bgrp1->setExclusive(1);
+
+ # insert 3 radiobuttons
+ TQt::RadioButton("R&adiobutton 2", $bgrp1);
+ TQt::RadioButton("Ra&diobutton 3", $bgrp1);
+
+ # ------- second group
+
+ # Create a non-exclusive buttongroup
+ my $bgrp2 = TQt::ButtonGroup(1, &Horizontal, "Button Group &2 (non-exclusive)", this);
+ $box1->addWidget($bgrp2);
+ $bgrp2->setExclusive(0);
+
+ # insert 3 checkboxes
+ TQt::CheckBox("&Checkbox 1", $bgrp2);
+ my $cb12 = TQt::CheckBox("C&heckbox 2", $bgrp2);
+ $cb12->setChecked(1);
+ my $cb13 = TQt::CheckBox("Triple &State Button", $bgrp2);
+ $cb13->setTristate(1);
+ $cb13->setChecked(1);
+
+ # ----------- third group
+
+ # create a buttongroup which is exclusive for radiobuttons and non-exclusive for all other buttons
+ my $bgrp3 = TQt::ButtonGroup(1, &Horizontal, "Button Group &3 (Radiobutton-exclusive)", this);
+ $box2->addWidget($bgrp3);
+ $bgrp3->setRadioButtonExclusive(1);
+
+ # insert three radiobuttons
+ rb21 = TQt::RadioButton("Rad&iobutton 1", $bgrp3);
+ rb22 = TQt::RadioButton("Radi&obutton 2", $bgrp3);
+ rb23 = TQt::RadioButton("Radio&button 3", $bgrp3);
+ rb23->setChecked(1);
+
+ # insert a checkbox
+ state = TQt::CheckBox("E&nable Radiobuttons", $bgrp3);
+ state->setChecked(1);
+ # ...and connect its TQT_SIGNAL clicked() with the TQT_SLOT slotChangeGrp3State()
+ this->connect(state, TQT_SIGNAL('clicked()'), TQT_SLOT('slotChangeGrp3State()'));
+
+ # ----------- fourth group
+
+ # create a groupbox which layouts its childs in a columns
+ my $bgrp4 = TQt::ButtonGroup(1, &Horizontal, "Groupbox with &normal buttons", this);
+ $box2->addWidget($bgrp4);
+
+ # insert three pushbuttons...
+ TQt::PushButton("&Push Button", $bgrp4);
+ my $tb2 = TQt::PushButton("&Toggle Button", $bgrp4);
+ my $tb3 = TQt::PushButton("&Flat Button", $bgrp4);
+
+ # ... and make the second one a toggle button
+ $tb2->setToggleButton(1);
+ $tb2->setOn(1);
+
+ # ... and make the third one a flat button
+ $tb3->setFlat(1);
+}
+
+#
+# TQT_SLOT slotChangeGrp3State()
+#
+# enables/disables the radiobuttons of the third buttongroup
+#
+
+sub slotChangeGrp3State {
+ rb21->setEnabled(state->isChecked);
+ rb22->setEnabled(state->isChecked);
+ rb23->setEnabled(state->isChecked);
+}
+
+1;
diff --git a/PerlTQt/examples/buttongroups/buttongroups.pl b/PerlTQt/examples/buttongroups/buttongroups.pl
new file mode 100644
index 0000000..632ad43
--- /dev/null
+++ b/PerlTQt/examples/buttongroups/buttongroups.pl
@@ -0,0 +1,13 @@
+#!/usr/bin/perl -w
+use strict;
+use TQt;
+use ButtonsGroups;
+
+my $a = TQt::Application(\@ARGV);
+
+my $buttonsgroups = ButtonsGroups;
+$buttonsgroups->resize(500, 250);
+$buttonsgroups->setCaption("PerlTQt Example - Buttongroups");
+$a->setMainWidget($buttonsgroups);
+$buttonsgroups->show;
+exit $a->exec;
diff --git a/PerlTQt/examples/dclock/DigitalClock.pm b/PerlTQt/examples/dclock/DigitalClock.pm
new file mode 100644
index 0000000..2d25428
--- /dev/null
+++ b/PerlTQt/examples/dclock/DigitalClock.pm
@@ -0,0 +1,88 @@
+package DigitalClock;
+use strict;
+use TQt;
+use TQt::isa qw(TQt::LCDNumber);
+use TQt::slots
+ stopDate => [],
+ showTime => [];
+use TQt::attributes qw(
+ showingColon
+ normalTimer
+ showDateTimer
+);
+
+#
+# Constructs a DigitalClock widget
+#
+
+sub NEW {
+ shift->SUPER::NEW(@_);
+ showingColon = 0;
+ setFrameStyle(&Panel | &Raised);
+ setLineWidth(2);
+ showTime();
+ normalTimer = startTimer(500);
+ showDateTimer = -1;
+}
+
+#
+# Handles timer events and the digital clock widget.
+# There are two different timers; one timer for updating the clock
+# and another one for switching back from date mode to time mode
+#
+
+sub timerEvent {
+ my $e = shift;
+ if($e->timerId == showDateTimer) { # stop showing date
+ stopDate();
+ } elsif(showDateTimer == -1) { # normal timer
+ showTime();
+ }
+}
+
+#
+# Enters date mode when the left mouse button is pressed
+#
+
+sub mousePressEvent {
+ my $e = shift;
+ showDate() if $e->button == &LeftButton;
+}
+
+#
+# Shows the durrent date in the internal lcd widget.
+# Fires a timer to stop showing the date.
+#
+
+sub showDate {
+ return if showDateTimer != -1; # already showing date
+ my $date = TQt::Date::currentDate();
+ my $s = sprintf("%2d %2d", $date->month, $date->day);
+ display($s); # sets the LCD number/text
+ showDateTimer = startTimer(2000); # keep this state for 2 secs
+}
+
+#
+# Stops showing the date.
+#
+
+sub stopDate {
+ killTimer(showDateTimer);
+ showDateTimer = -1;
+ showTime();
+}
+
+#
+# Shows the current time in the internal lcd widget.
+#
+
+sub showTime {
+ showingColon = !showingColon;
+ my $s = substr(TQt::Time::currentTime()->toString, 0, 5);
+ $s =~ s/^0/ /;
+ $s =~ s/:/ / unless showingColon;
+ display($s);
+}
+
+1;
+
diff --git a/PerlTQt/examples/dclock/dclock.pl b/PerlTQt/examples/dclock/dclock.pl
new file mode 100644
index 0000000..57c02bd
--- /dev/null
+++ b/PerlTQt/examples/dclock/dclock.pl
@@ -0,0 +1,12 @@
+#!/usr/bin/perl -w
+use strict;
+use TQt;
+use DigitalClock;
+
+my $a = TQt::Application(\@ARGV);
+my $clock = DigitalClock;
+$clock->resize(170, 80);
+$a->setMainWidget($clock);
+$clock->setCaption("PerlTQt Example - Digital Clock");
+$clock->show;
+exit $a->exec;
diff --git a/PerlTQt/examples/drawdemo/drawdemo.pl b/PerlTQt/examples/drawdemo/drawdemo.pl
new file mode 100644
index 0000000..f119a94
--- /dev/null
+++ b/PerlTQt/examples/drawdemo/drawdemo.pl
@@ -0,0 +1,198 @@
+#!/usr/bin/perl -w
+use strict;
+package DrawView;
+use TQt;
+use TQt::isa qw(TQt::Widget);
+use TQt::slots
+ updateIt => ['int'],
+ printIt => [];
+use TQt::attributes qw(
+ printer
+ bgroup
+ _print
+ drawindex
+ maxindex
+);
+
+#
+# First we define the functionality our demo should present
+# to the user. You might add different demo-modes if you wish so
+#
+
+#
+# This function draws a color wheel.
+# The coordinate system x=(0..500), y=(0..500) spans the paint device.
+#
+
+sub drawColorWheel {
+ my $p = shift;
+ my $f = TQt::Font("times", 18, &TQt::Font::Bold);
+ $p->setFont($f);
+ $p->setPen(&black);
+ $p->setWindow(0, 0, 500, 500); # defines coordinate system
+
+ for my $i (0..35) {
+ my $matrix = TQt::WMatrix;
+ $matrix->translate(250.0, 250.0); # move to center
+ $matrix->shear(0.0, 0.3); # twist it
+ $matrix->rotate($i*10.0); # rotate 0,10,20,.. degrees
+ $p->setWorldMatrix($matrix); # use this world matrix
+
+ my $c = TQt::Color;
+ $c->setHsv($i*10, 255, 255); # rainbow effect
+ $p->setBrush($c); # solid fill with color $c
+ $p->drawRect(70, -10, 80, 10); # draw the rectangle
+
+ my $n = sprintf "H=%d", $i*10;
+ $p->drawText(80+70+5, 0, $n); # draw the hue number
+ }
+}
+
+#
+# This function draws a few lines of text using different fonts.
+#
+
+sub drawFonts {
+ my $p = shift;
+ my @fonts = qw(Helvetica Courier Times);
+ my @sizes = (10, 12, 18, 24, 36);
+ my $y = 0;
+ for my $f (@fonts) {
+ for my $s (@sizes) {
+ my $font = TQt::Font($f, $s);
+ $p->setFont($font);
+ my $fm = $p->fontMetrics;
+ $y += $fm->ascent;
+ $p->drawText(10, $y, "Quartz Glyph Job Vex'd Cwm Finks");
+ $y += $fm->descent;
+ }
+ }
+}
+
+#
+# This function draws some shapes
+#
+
+sub drawShapes {
+ my $p = shift;
+ my $b1 = TQt::Brush(&blue);
+ my $b2 = TQt::Brush(&green, &Dense6Pattern); # green 12% fill
+ my $b3 = TQt::Brush(&NoBrush); # void brush
+ my $b4 = TQt::Brush(&CrossPattern); # black cross pattern
+
+ $p->setPen(&red);
+ $p->setBrush($b1);
+ $p->drawRect(10, 10, 200, 100);
+ $p->setBrush($b2);
+ $p->drawRoundRect(10, 150, 200, 100, 20, 20);
+ $p->setBrush($b3);
+ $p->drawEllipse(250, 10, 200, 100);
+ $p->setBrush($b4);
+ $p->drawPie(250, 150, 200, 100, 45*16, 90*16);
+}
+
+our @drawFunctions = (
+# title presented to user, reference to the function
+ { name => "Draw color wheel", f => \&drawColorWheel },
+ { name => "Draw fonts" , f => \&drawFonts },
+ { name => "Draw shapes" , f => \&drawShapes },
+);
+
+#
+# Construct the DrawView with buttons.
+#
+
+sub NEW {
+ shift->SUPER::NEW(@_);
+
+ setCaption("PerlTQt Draw Demo Application");
+ setBackgroundColor(&white);
+
+ # Create a button group to contain all buttons
+ bgroup = TQt::ButtonGroup(this);
+ bgroup->resize(200, 200);
+ this->connect(bgroup, TQT_SIGNAL('clicked(int)'), TQT_SLOT('updateIt(int)'));
+
+ # Calculate the size for the radio buttons
+ my $maxwidth = 80;
+ my $maxheight = 10;
+ my $fm = bgroup->fontMetrics;
+
+ for my $i (0 .. $#drawFunctions) {
+ my $n = $drawFunctions[$i]{name};
+ my $w = $fm->width($n);
+ $maxwidth = max($w, $maxwidth);
+ }
+
+ $maxwidth += 30;
+
+ for my $i (0 .. $#drawFunctions) {
+ my $n = $drawFunctions[$i]{name};
+ my $rb = TQt::RadioButton($n, bgroup);
+ $rb->setGeometry(10, $i*30+10, $maxwidth, 30);
+
+ $maxheight += 30;
+
+ $rb->setChecked(1) unless $i;
+ $i++;
+ }
+
+ $maxheight += 10;
+
+ drawindex = 0;
+ maxindex = scalar @drawFunctions;
+ $maxwidth += 20;
+
+ bgroup->resize($maxwidth, $maxheight);
+
+ printer = TQt::Printer;
+
+ _print = TQt::PushButton("Print...", bgroup);
+ _print->resize(80, 30);
+ _print->move($maxwidth/2 - _print->width/2, maxindex*30+20);
+ this->connect(_print, TQT_SIGNAL('clicked()'), TQT_SLOT('printIt()'));
+
+ bgroup->resize($maxwidth, _print->y+_print->height+10);
+
+ resize(640,300);
+}
+
+sub updateIt {
+ my $index = shift;
+ if($index < maxindex) {
+ drawindex = $index;
+ update();
+ }
+}
+
+sub drawIt {
+ my $p = shift;
+ $drawFunctions[drawindex]{f}->($p);
+}
+
+sub printIt {
+ if(printer->setup(this)) {
+ my $paint = TQt::Painter(printer);
+ drawIt($paint);
+ }
+}
+
+sub paintEvent {
+ my $paint = TQt::Painter(this);
+ drawIt($paint);
+}
+
+sub resizeEvent {
+ bgroup->move(int(width() - bgroup->width), int(0));
+}
+
+package main;
+use TQt;
+use DrawView;
+
+my $app = TQt::Application(\@ARGV);
+my $draw = DrawView;
+$app->setMainWidget($draw);
+$draw->setCaption("PerlTQt Example - Drawdemo");
+$draw->show;
+exit $app->exec;
diff --git a/PerlTQt/examples/drawlines/drawlines.pl b/PerlTQt/examples/drawlines/drawlines.pl
new file mode 100644
index 0000000..1d7575f
--- /dev/null
+++ b/PerlTQt/examples/drawlines/drawlines.pl
@@ -0,0 +1,74 @@
+#!/usr/bin/perl -w
+use strict;
+package ConnectWidget;
+use TQt;
+use TQt::isa qw(TQt::Widget);
+use TQt::attributes qw(
+ points
+ colors
+ count
+ down
+);
+use constant MAXPOINTS => 2000;
+use constant MAXCOLORS => 40;
+
+#
+# Constructs a ConnectWidget.
+#
+
+sub NEW {
+ shift->SUPER::NEW(@_[0,1], &WStaticContents);
+
+ setBackgroundColor(&white);
+ count = 0;
+ down = 0;
+ points = [];
+ my @colors;
+ for(1 .. MAXCOLORS) {
+ push @colors, TQt::Color(rand(255), rand(255), rand(255));
+ }
+ colors = \@colors;
+}
+
+sub paintEvent {
+ my $paint = TQt::Painter(this);
+ for(my $i = 0; $i < count-1; $i++) {
+ for(my $j = $i+1; $j < count; $j++) {
+ $paint->setPen(colors->[rand(MAXCOLORS)]);
+ $paint->drawLine(points->[$i], points->[$j]);
+ }
+ }
+}
+
+sub mousePressEvent {
+ down = 1;
+ count = 0;
+ points = [];
+ erase();
+}
+
+sub mouseReleaseEvent {
+ down = 0;
+ update();
+}
+
+sub mouseMoveEvent {
+ my $e = shift;
+ if(down && count < MAXPOINTS) {
+ my $paint = TQt::Painter(this);
+ push @{this->points}, TQt::Point($e->pos);
+ count++;
+ $paint->drawPoint($e->pos);
+ }
+}
+
+package main;
+use TQt;
+use ConnectWidget;
+
+my $a = TQt::Application(\@ARGV);
+my $connect = ConnectWidget;
+$connect->setCaption("PerlTQt Example - Draw lines");
+$a->setMainWidget($connect);
+$connect->show;
+exit $a->exec;
diff --git a/PerlTQt/examples/forever/forever.pl b/PerlTQt/examples/forever/forever.pl
new file mode 100644
index 0000000..e388e44
--- /dev/null
+++ b/PerlTQt/examples/forever/forever.pl
@@ -0,0 +1,59 @@
+#!/usr/bin/perl -w
+use strict;
+package Forever;
+use TQt;
+use TQt::isa qw(TQt::Widget);
+use TQt::slots
+ updateCaption => [];
+use TQt::attributes qw(
+ rectangles
+ colors
+);
+use constant numColors => 120;
+
+sub NEW {
+ shift->SUPER::NEW(@_);
+ colors = \my @colors;
+ for(my $a = 0; $a < numColors; $a++) {
+ push @colors, TQt::Color(rand(255), rand(255), rand(255));
+ }
+ rectangles = 0;
+ startTimer(0);
+ my $counter = TQt::Timer(this);
+ this->connect($counter, TQT_SIGNAL('timeout()'), TQT_SLOT('updateCaption()'));
+ $counter->start(1000);
+}
+
+sub updateCaption {
+ my $s = sprintf "PerlTQt Example - Forever - %d rectangles/second", rectangles;
+ rectangles = 0;
+ setCaption($s);
+}
+
+sub paintEvent {
+ my $paint = TQt::Painter(this);
+ my $w = width();
+ my $h = height();
+ return if $w <= 0 || $h <= 0;
+ $paint->setPen(&NoPen);
+ $paint->setBrush(colors->[rand(numColors)]);
+ $paint->drawRect(rand($w), rand($h), rand($w), rand($h));
+}
+
+sub timerEvent {
+ for(my $i = 0; $i < 100; $i++) {
+ repaint(0);
+ rectangles++;
+ }
+}
+
+package main;
+use TQt;
+use Forever;
+
+my $a = TQt::Application(\@ARGV);
+my $always = Forever;
+$a->setMainWidget($always);
+$always->setCaption("PerlTQt Example - Forever");
+$always->show;
+exit $a->exec;
diff --git a/PerlTQt/examples/network/httpd/httpd.pl b/PerlTQt/examples/network/httpd/httpd.pl
new file mode 100644
index 0000000..a9aa0fd
--- /dev/null
+++ b/PerlTQt/examples/network/httpd/httpd.pl
@@ -0,0 +1,140 @@
+#!/usr/bin/perl -w
+
+## This program is based on an example program for TQt. It
+## may be used, distributed and modified without limitation.
+##
+## Copyright (C) 1992-2000 Trolltech AS. All rights reserved.
+
+
+# When a new client connects, the server constructs a TQt::Socket and all
+# communication with the client is done over this Socket object. TQt::Socket
+# works asynchronously - this means that all the communication is done
+# through the two slots readClient() and discardClient().
+
+package HttpDaemon;
+
+use TQt;
+use TQt::isa qw(TQt::ServerSocket);
+use TQt::signals
+ newConnect => [],
+ endConnect => [],
+ wroteToClient => [];
+use TQt::slots
+ readClient => [],
+ discardClient => [];
+use TQt::attributes qw(
+ sockets
+);
+
+sub NEW
+{
+ shift->SUPER::NEW(8080, 1, $_[0]);
+ if( !this->ok() )
+ {
+ die "Failed to bind to port 8080\n";
+ }
+ sockets = {};
+}
+
+sub newConnection
+{
+ my $s = TQt::Socket( this );
+ this->connect( $s, TQT_SIGNAL 'readyRead()', this, TQT_SLOT 'readClient()' );
+ this->connect( $s, TQT_SIGNAL 'delayedCloseFinished()', this, TQT_SLOT 'discardClient()' );
+ $s->setSocket( shift );
+ sockets->{ $s } = $s;
+ emit newConnect();
+}
+
+sub readClient
+{
+ # This slot is called when the client sent data to the server. The
+ # server looks if it was a get request and sends a very simple HTML
+ # document back.
+ my $s = sender();
+ if ( $s->canReadLine() )
+ {
+ my @tokens = split( /\s\s*/, $s->readLine() );
+ if ( $tokens[0] eq "GET" )
+ {
+ my $string = "HTTP/1.0 200 Ok\n\rContent-Type: text/html; charset=\"utf-8\"\n\r".
+ "\n\r<h1>Nothing to see here</h1>\n";
+ $s->writeBlock($string, length($string));
+ $s->close();
+ emit wroteToClient();
+ }
+ }
+}
+
+sub discardClient
+{
+ my $s = sender();
+ sockets->{$s} = 0;
+ emit endConnect();
+}
+
+1;
+
+
+# HttpInfo provides a simple graphical user interface to the server and shows
+# the actions of the server.
+
+package HttpInfo;
+
+use TQt;
+use TQt::isa qw(TQt::VBox);
+use TQt::slots
+ newConnect => [],
+ endConnect => [],
+ wroteToClient => [];
+use TQt::attributes qw(
+ httpd
+ infoText
+);
+
+use HttpDaemon;
+
+sub NEW
+{
+ shift->SUPER::NEW(@_);
+ httpd = HttpDaemon( this );
+ my $port = httpd->port();
+ my $itext = "This is a small httpd example.\n".
+ "You can connect with your\n".
+ "web browser to port $port\n";
+ my $lb = Label( $itext, this );
+ $lb->setAlignment( &AlignHCenter );
+ infoText = TextView( this );
+ my $quit = PushButton( "quit" , this );
+ this->connect( httpd, TQT_SIGNAL 'newConnect()', TQT_SLOT 'newConnect()' );
+ this->connect( httpd, TQT_SIGNAL 'endConnect()', TQT_SLOT 'endConnect()' );
+ this->connect( httpd, TQT_SIGNAL 'wroteToClient()', TQT_SLOT 'wroteToClient()' );
+ this->connect( $quit, TQT_SIGNAL 'pressed()', TQt::app(), TQT_SLOT 'quit()' );
+}
+
+sub newConnect
+{
+ infoText->append( "New connection" );
+}
+
+sub endConnect
+{
+ infoText->append( "Connection closed\n\n" );
+}
+
+sub wroteToClient
+{
+ infoText->append( "Wrote to client" );
+}
+
+1;
+
+package main;
+use TQt;
+use HttpInfo;
+
+my $app = TQt::Application(\@ARGV);
+my $info = HttpInfo;
+$app->setMainWidget($info);
+$info->show;
+exit $app->exec;
diff --git a/PerlTQt/examples/opengl/README b/PerlTQt/examples/opengl/README
new file mode 100644
index 0000000..7e2f174
--- /dev/null
+++ b/PerlTQt/examples/opengl/README
@@ -0,0 +1,12 @@
+Before you can run the OpenGL examples, you need to install
+the OpenGL module available on CPAN (http://www.cpan.org)
+
+Latest version is 0.54, as of 09/11/02
+
+Both Smoke and TQt must also have been compiled with OpenGL support.
+
+If your TQt library has OpenGL support but PerlTQt complains about lacking
+ methods or classes, check ./configure's config.log file for any
+error that might have occured while detecting your OpenGL settings.
+
+You might also want to check if OpenGL is properly installed on your system.
diff --git a/PerlTQt/examples/opengl/box/GLBox.pm b/PerlTQt/examples/opengl/box/GLBox.pm
new file mode 100644
index 0000000..1c6ceb8
--- /dev/null
+++ b/PerlTQt/examples/opengl/box/GLBox.pm
@@ -0,0 +1,149 @@
+package GLBox;
+
+use OpenGL qw(:all);
+
+use strict;
+
+use TQt;
+use TQt::isa qw(TQt::GLWidget);
+use TQt::slots
+ setXRotation => ['int'],
+ setYRotation => ['int'],
+ setZRotation => ['int'];
+use TQt::attributes qw(
+ xRot
+ yRot
+ zRot
+ scale
+ object
+ list
+);
+
+sub NEW {
+ shift->SUPER::NEW(@_);
+ xRot = yRot = zRot = 0.0;
+ scale = 1.25;
+ object = undef;
+}
+
+sub paintGL
+{
+ glClear( GL_COLOR_BUFFER_BIT );
+ glClear( GL_DEPTH_BUFFER_BIT );
+
+ glLoadIdentity();
+ glTranslatef( 0.0, 0.0, -10.0 );
+ glScalef( scale, scale, scale );
+
+ glRotatef( xRot, 1.0, 0.0, 0.0 );
+ glRotatef( yRot, 0.0, 1.0, 0.0 );
+ glRotatef( zRot, 0.0, 0.0, 1.0 );
+
+ glCallList( object );
+}
+
+sub initializeGL
+{
+ qglClearColor( &black ); # Let OpenGL clear to black
+ object = makeObject(); # Generate an OpenGL display list
+ glShadeModel( GL_FLAT );
+ glEnable( GL_DEPTH_TEST );
+}
+
+# Set up the OpenGL view port, matrix mode, etc.
+
+sub resizeGL
+{
+ my $w = shift;
+ my $h = shift;
+ glViewport( 0, 0, $w, $h );
+ glMatrixMode( GL_PROJECTION );
+ glLoadIdentity();
+ glFrustum( -1.0, 1.0, -1.0, 1.0, 5.0, 15.0 );
+ glMatrixMode( GL_MODELVIEW );
+}
+
+# Generate an OpenGL display list for the object to be shown, i.e. the box
+
+sub makeObject
+{
+ my $list = glGenLists( 1 );
+
+ glNewList( $list, GL_COMPILE );
+
+ qglColor( &darkGreen ); # Shorthand for glColor3f or glIndex
+
+ glLineWidth( 2.0 );
+
+ glBegin( GL_TQUADS );
+ glVertex3f( 1.0, 0.5, -0.4 );
+ glVertex3f( 1.0, -0.5, -0.4 );
+ glVertex3f( -1.0, -0.5, -0.4 );
+ glVertex3f( -1.0, 0.5, -0.4 );
+ glEnd();
+
+ qglColor( &blue );
+
+ glBegin( GL_TQUADS );
+ glVertex3f( 1.0, 0.5, 0.4 );
+ glVertex3f( 1.0, -0.5, 0.4 );
+ glVertex3f( -1.0, -0.5, 0.4 );
+ glVertex3f( -1.0, 0.5, 0.4 );
+ glEnd();
+
+ qglColor( &darkRed );
+
+ glBegin( GL_TQUAD_STRIP );
+ glVertex3f( 1.0, 0.5, -0.4 ); glVertex3f( 1.0, 0.5, 0.4 );
+ glVertex3f( 1.0, -0.5, -0.4 ); glVertex3f( 1.0, -0.5, 0.4 );
+ qglColor( &yellow );
+ glVertex3f( -1.0, -0.5, -0.4 ); glVertex3f( -1.0, -0.5, 0.4 );
+ qglColor( &green );
+ glVertex3f( -1.0, 0.5, -0.4 ); glVertex3f( -1.0, 0.5, 0.4 );
+ qglColor( &lightGray );
+ glVertex3f( 1.0, 0.5, -0.4 ); glVertex3f( 1.0, 0.5, 0.4 );
+ glEnd();
+
+ glEndList();
+
+ return $list;
+}
+
+
+
+# Set the rotation angle of the object to \e degrees around the X axis.
+
+sub setXRotation
+{
+ my $deg = shift;
+ xRot = $deg % 360;
+ updateGL();
+}
+
+
+# Set the rotation angle of the object to \e degrees around the Y axis.
+
+sub setYRotation
+{
+ my $deg = shift;
+ yRot = $deg % 360;
+ updateGL();
+}
+
+
+# Set the rotation angle of the object to \e degrees around the Z axis.
+
+sub setZRotation
+{
+ my $deg = shift;
+ zRot = $deg % 360;
+ updateGL();
+}
+
+sub DESTROY
+{
+# makeCurrent();
+ glDeleteLists( object, 1 );
+}
+
+1;
diff --git a/PerlTQt/examples/opengl/box/glbox b/PerlTQt/examples/opengl/box/glbox
new file mode 100644
index 0000000..fed74a3
--- /dev/null
+++ b/PerlTQt/examples/opengl/box/glbox
@@ -0,0 +1,90 @@
+
+package GLObjectWindow;
+
+use strict;
+
+use TQt;
+use TQt::isa qw(TQt::Widget);
+use TQt::attributes qw(
+ file
+ frame
+ menu
+ box
+ xpos
+ ypos
+ zpos
+);
+
+use GLBox;
+
+sub NEW
+{
+ shift->SUPER::NEW(@_);
+
+ # Create a menu
+ file = TQt::PopupMenu( this );
+ file->insertItem( "Exit", TQt::app(), TQT_SLOT 'quit()', TQt::KeySequence(int &CTRL + &Key_Q ));
+
+ # Create a menu bar
+ menu = TQt::MenuBar( this );
+ menu->setSeparator( &TQt::MenuBar::InWindowsStyle );
+ menu->insertItem("&File", file );
+
+ # Create a nice frame to put around the OpenGL widget
+ frame = TQt::Frame( this, "frame" );
+ frame->setFrameStyle( &TQt::Frame::Sunken | &TQt::Frame::Panel );
+ frame->setLineWidth( 2 );
+
+ # Create our OpenGL widget
+ box = GLBox( frame, "glbox");
+
+ # Create the three sliders; one for each rotation axis
+ xpos = TQt::Slider ( 0, 360, 60, 0, &TQt::Slider::Vertical, this, "xsl" );
+ xpos->setTickmarks( &TQt::Slider::Left );
+ TQt::Object::connect( xpos, TQT_SIGNAL 'valueChanged(int)', box, TQT_SLOT 'setXRotation(int)' );
+
+ ypos = TQt::Slider ( 0, 360, 60, 0, &TQt::Slider::Vertical, this, "ysl" );
+ ypos->setTickmarks( &TQt::Slider::Left );
+ TQt::Object::connect( ypos, TQT_SIGNAL 'valueChanged(int)', box, TQT_SLOT 'setYRotation(int)' );
+
+ zpos = TQt::Slider ( 0, 360, 60, 0, &TQt::Slider::Vertical, this, "zsl" );
+ zpos->setTickmarks( &TQt::Slider::Left );
+ TQt::Object::connect( zpos, TQT_SIGNAL 'valueChanged(int)', box, TQT_SLOT 'setZRotation(int)' );
+
+
+ # Now that we have all the widgets, put them into a nice layout
+
+ # Put the sliders on top of each other
+ my $vlayout = TQt::VBoxLayout( 20, "vlayout");
+ $vlayout->addWidget( xpos );
+ $vlayout->addWidget( ypos );
+ $vlayout->addWidget( zpos );
+
+ # Put the GL widget inside the frame
+ my $flayout = TQt::HBoxLayout( frame, 2, 2, "flayout");
+ $flayout->addWidget( box, 1 );
+
+ # Top level layout, puts the sliders to the left of the frame/GL widget
+ my $hlayout = TQt::HBoxLayout( this, 20, 20, "hlayout");
+ $hlayout->setMenuBar( menu );
+ $hlayout->addLayout( $vlayout );
+ $hlayout->addWidget( frame, 1 );
+}
+
+1;
+
+package main;
+
+use TQt;
+use GLObjectWindow;
+
+my $a = TQt::Application(\@ARGV);
+
+my $w = GLObjectWindow;
+$w->resize(350,350);
+$w->show;
+
+$a->setMainWidget( $w);
+
+exit $a->exec;
+
diff --git a/PerlTQt/examples/opengl/gear/gear b/PerlTQt/examples/opengl/gear/gear
new file mode 100644
index 0000000..d9e4c8a
--- /dev/null
+++ b/PerlTQt/examples/opengl/gear/gear
@@ -0,0 +1,267 @@
+#!/usr/bin/perl -w
+#
+# Draws a gear.
+#
+# This code is originally from TQt-1.44, by Troll Tech
+#
+# Portions of this code have been borrowed from Brian Paul's Mesa
+# distribution.
+#
+
+package GearWidget;
+use OpenGL qw(:all);
+
+use TQt;
+use TQt::attributes qw(
+ gear1
+ gear2
+ gear3
+ view_rotx
+ view_roty
+ view_rotz
+ angle
+);
+
+use TQt::isa qw(TQt::GLWidget);
+
+#
+# Draw a gear wheel. You'll probably want to call this function when
+# building a display list since we do a lot of trig here.
+#
+# Input: inner_radius - radius of hole at center
+# outer_radius - radius at center of teeth
+# width - width of gear
+# teeth - number of teeth
+# tooth_depth - depth of tooth
+#
+
+sub gear {
+ my($inner_radius, $outer_radius, $width, $teeth, $tooth_depth) = @_;
+ my $i;
+ my($r0, $r1, $r2);
+ my($angle, $da);
+ my($u, $v, $len);
+
+ $r0 = $inner_radius;
+ $r1 = $outer_radius - $tooth_depth/2.0;
+ $r2 = $outer_radius + $tooth_depth/2.0;
+
+ my $pi = 3.141592654;
+ $da = 2.0*$pi / $teeth / 4.0;
+
+ glShadeModel(GL_FLAT);
+
+ glNormal3f(0.0, 0.0, 1.0);
+
+ # draw front face
+ glBegin(GL_TQUAD_STRIP);
+ for $i (0 .. $teeth) {
+ $angle = $i * 2.0*$pi / $teeth;
+ glVertex3f($r0*cos($angle), $r0*sin($angle), $width*0.5);
+ glVertex3f($r1*cos($angle), $r1*sin($angle), $width*0.5);
+ glVertex3f($r0*cos($angle), $r0*sin($angle), $width*0.5);
+ glVertex3f($r1*cos($angle+3*$da), $r1*sin($angle+3*$da), $width*0.5);
+ }
+ glEnd();
+
+ # draw front sides of teeth
+ glBegin(GL_TQUADS);
+ $da = 2.0*$pi / $teeth / 4.0;
+ for $i (0 .. $teeth-1) {
+ $angle = $i * 2.0*$pi / $teeth;
+
+ glVertex3f($r1*cos($angle), $r1*sin($angle), $width*0.5);
+ glVertex3f($r2*cos($angle+$da), $r2*sin($angle+$da), $width*0.5);
+ glVertex3f($r2*cos($angle+2*$da), $r2*sin($angle+2*$da), $width*0.5);
+ glVertex3f($r1*cos($angle+3*$da), $r1*sin($angle+3*$da), $width*0.5);
+ }
+ glEnd();
+
+
+ glNormal3f(0.0, 0.0, -1.0);
+
+ # draw back face
+ glBegin(GL_TQUAD_STRIP);
+ for $i (0 .. $teeth) {
+ $angle = $i * 2.0*$pi / $teeth;
+ glVertex3f($r1*cos($angle), $r1*sin($angle), -$width*0.5);
+ glVertex3f($r0*cos($angle), $r0*sin($angle), -$width*0.5);
+ glVertex3f($r1*cos($angle+3*$da), $r1*sin($angle+3*$da), -$width*0.5);
+ glVertex3f($r0*cos($angle), $r0*sin($angle), -$width*0.5);
+ }
+ glEnd();
+
+ # draw back sides of teeth
+ glBegin(GL_TQUADS);
+ $da = 2.0*$pi / $teeth / 4.0;
+ for $i (0 .. $teeth-1) {
+ $angle = $i * 2.0*$pi / $teeth;
+
+ glVertex3f($r1*cos($angle+3*$da), $r1*sin($angle+3*$da), -$width*0.5);
+ glVertex3f($r2*cos($angle+2*$da), $r2*sin($angle+2*$da), -$width*0.5);
+ glVertex3f($r2*cos($angle+$da), $r2*sin($angle+$da), -$width*0.5);
+ glVertex3f($r1*cos($angle), $r1*sin($angle), -$width*0.5);
+ }
+ glEnd();
+
+ # draw outward faces of teeth
+ glBegin(GL_TQUAD_STRIP);
+ for $i (0 .. $teeth-1) {
+ $angle = $i * 2.0*$pi / $teeth;
+
+ glVertex3f($r1*cos($angle), $r1*sin($angle), $width*0.5);
+ glVertex3f($r1*cos($angle), $r1*sin($angle), -$width*0.5);
+ $u = $r2*cos($angle+$da) - $r1*cos($angle);
+ $v = $r2*sin($angle+$da) - $r1*sin($angle);
+ $len = sqrt($u*$u + $v*$v);
+ $u /= $len;
+ $v /= $len;
+ glNormal3f($v, -$u, 0.0);
+ glVertex3f($r2*cos($angle+$da), $r2*sin($angle+$da), $width*0.5);
+ glVertex3f($r2*cos($angle+$da), $r2*sin($angle+$da), -$width*0.5);
+ glNormal3f(cos($angle), sin($angle), 0.0);
+ glVertex3f($r2*cos($angle+2*$da), $r2*sin($angle+2*$da), $width*0.5);
+ glVertex3f($r2*cos($angle+2*$da), $r2*sin($angle+2*$da), -$width*0.5);
+ $u = $r1*cos($angle+3*$da) - $r2*cos($angle+2*$da);
+ $v = $r1*sin($angle+3*$da) - $r2*sin($angle+2*$da);
+ glNormal3f($v, -$u, 0.0);
+ glVertex3f($r1*cos($angle+3*$da), $r1*sin($angle+3*$da), $width*0.5);
+ glVertex3f($r1*cos($angle+3*$da), $r1*sin($angle+3*$da), -$width*0.5);
+ glNormal3f(cos($angle), sin($angle), 0.0);
+ }
+
+ glVertex3f($r1*cos(0.0), $r1*sin(0.0), $width*0.5);
+ glVertex3f($r1*cos(0.0), $r1*sin(0.0), -$width*0.5);
+
+ glEnd();
+
+
+ glShadeModel(GL_SMOOTH);
+
+ # draw inside radius cylinder
+ glBegin(GL_TQUAD_STRIP);
+ for $i (0 .. $teeth) {
+ $angle = $i * 2.0*$pi / $teeth;
+ glNormal3f(-cos($angle), -sin($angle), 0.0);
+ glVertex3f($r0*cos($angle), $r0*sin($angle), -$width*0.5);
+ glVertex3f($r0*cos($angle), $r0*sin($angle), $width*0.5);
+ }
+ glEnd();
+}
+
+
+
+sub draw {
+ angle += 2.0;
+ view_roty += 1.0;
+
+ glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
+
+ glPushMatrix();
+ glRotatef(view_rotx, 1.0, 0.0, 0.0);
+ glRotatef(view_roty, 0.0, 1.0, 0.0);
+ glRotatef(view_rotz, 0.0, 0.0, 1.0);
+
+ glPushMatrix();
+ glTranslatef(-3.0, -2.0, 0.0);
+ glRotatef(angle, 0.0, 0.0, 1.0);
+ glCallList(gear1);
+ glPopMatrix();
+
+ glPushMatrix();
+ glTranslatef(3.1, -2.0, 0.0);
+ glRotatef(-2.0*angle-9.0, 0.0, 0.0, 1.0);
+ glCallList(gear2);
+ glPopMatrix();
+
+ glPushMatrix();
+ glTranslatef(-3.1, 2.2, -1.8);
+ glRotatef(90.0, 1.0, 0.0, 0.0);
+ glRotatef(2.0*angle-2.0, 0.0, 0.0, 1.0);
+ glCallList(gear3);
+ glPopMatrix();
+
+ glPopMatrix();
+}
+
+sub NEW {
+ shift->SUPER::NEW(@_);
+ this->startTimer(10);
+ view_rotx = 20.0;
+ view_roty = 30.0;
+ view_rotz = 0.0;
+ angle = 0.0;
+}
+
+sub initializeGL {
+ my $pos = [ 5.0, 5.0, 10.0, 1.0 ];
+ my $red = [ 0.8, 0.1, 0.0, 1.0 ];
+ my $green = [ 0.0, 0.8, 0.2, 1.0 ];
+ my $blue = [ 0.2, 0.2, 1.0, 1.0 ];
+
+ glLightfv_p(GL_LIGHT0, GL_POSITION, @$pos);
+ glEnable(GL_CULL_FACE);
+ glEnable(GL_LIGHTING);
+ glEnable(GL_LIGHT0);
+ glEnable(GL_DEPTH_TEST);
+
+ # make the gears
+ gear1 = glGenLists(1);
+ glNewList(gear1, GL_COMPILE);
+ glMaterialfv_p(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, @$red);
+ gear(1.0, 4.0, 1.0, 20, 0.7);
+ glEndList();
+
+ gear2 = glGenLists(1);
+ glNewList(gear2, GL_COMPILE);
+ glMaterialfv_p(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, @$green);
+ gear(0.5, 2.0, 2.0, 10, 0.7);
+ glEndList();
+
+ gear3 = glGenLists(1);
+ glNewList(gear3, GL_COMPILE);
+ glMaterialfv_p(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, @$blue);
+ gear(1.3, 2.0, 0.5, 10, 0.7);
+ glEndList();
+
+ glEnable(GL_NORMALIZE);
+}
+
+sub resizeGL {
+ my($width, $height) = @_;
+ my $w = $width / $height;
+ my $h = 1.0;
+
+ glViewport(0, 0, $width, $height);
+ glMatrixMode(GL_PROJECTION);
+ glLoadIdentity();
+ glFrustum(-$w, $w, -$h, $h, 5.0, 60.0);
+ glMatrixMode(GL_MODELVIEW);
+ glLoadIdentity();
+ glTranslatef(0.0, 0.0, -40.0);
+}
+
+sub paintGL {
+ draw();
+}
+
+sub timerEvent {
+ updateGL();
+}
+
+package main;
+
+use TQt;
+use GearWidget;
+
+$app = TQt::Application(\@ARGV);
+
+if(!TQt::GLFormat::hasOpenGL()) {
+ warn("This system has no OpenGL support. Exiting.");
+ exit -1;
+}
+
+$w = GearWidget;
+$app->setMainWidget($w);
+$w->show;
+exit $app->exec;
diff --git a/PerlTQt/examples/progress/progress.pl b/PerlTQt/examples/progress/progress.pl
new file mode 100644
index 0000000..4112e64
--- /dev/null
+++ b/PerlTQt/examples/progress/progress.pl
@@ -0,0 +1,348 @@
+#!/usr/bin/perl -w
+
+use strict;
+
+package AnimatedThingy;
+
+use TQt;
+use TQt::isa "TQt::Label";
+use TQt::attributes qw[
+ label
+ step
+ ox oy
+ x0 x1
+ y0 y1
+ dx0 dx1
+ dy0 dy1
+];
+
+use constant nqix => 10;
+
+sub NEW
+{
+ shift->SUPER::NEW($_[0]);
+ label= $_[1]."\n... and wasting CPU\nwith this animation!\n";
+ ox = [];
+ oy = [];
+ step = 0;
+ for (my $i=0; $i<nqix; $i++)
+ { ox->[0][$i] = oy->[0][$i] = ox->[1][$i] = oy->[1][$i] = 0 }
+ x0 = y0 = x1 = y1 = 0;
+ dx0 = rand(8)+2;
+ dy0 = rand(8)+2;
+ dx1 = rand(8)+2;
+ dy1 = rand(8)+2;
+ setBackgroundColor(&black);
+}
+
+sub show
+{
+ startTimer(150) unless isVisible();
+ SUPER->show;
+}
+
+sub hide
+{
+ SUPER->hide;
+ killTimers()
+}
+
+sub sizeHint
+{
+ TQt::Size(120,100)
+}
+
+sub timerEvent
+{
+ my $p = TQt::Painter(this);
+ my $pn= $p->pen;
+ $pn->setWidth(2);
+ $pn->setColor(backgroundColor());
+ $p->setPen($pn);
+
+ step = (step + 1) % nqix;
+
+ $p->drawLine(ox->[0][step], oy->[0][step], ox->[1][step], oy->[1][step]);
+
+ (x0, dx0) = inc(x0, dx0, width());
+ (y0, dy0) = inc(y0, dy0, height());
+ (x1, dx1) = inc(x1, dx1, width());
+ (y1, dy1) = inc(y1, dy1, height());
+ ox->[0][step] = x0;
+ oy->[0][step] = y0;
+ ox->[1][step] = x1;
+ oy->[1][step] = y1;
+
+ my $c = TQt::Color;
+ $c->setHsv( (step*255)/nqix, 255, 255 ); # rainbow effect
+ $pn->setColor($c);
+ $pn->setWidth(2);
+ $p->setPen($pn);
+ $p->drawLine(ox->[0][step], oy->[0][step], ox->[1][step], oy->[1][step]);
+ $p->setPen(&white);
+ $p->drawText(rect(), &AlignCenter, label);
+}
+
+sub paintEvent
+{
+ my $ev = shift;
+ my $p = TQt::Painter(this);
+ my $pn= $p->pen;
+ $pn->setWidth(2);
+ $p->setPen($pn);
+ $p->setClipRect($ev->rect);
+ for (my $i=0; $i<nqix; $i++) {
+ my $c = TQt::Color;
+ $c->setHsv( ($i*255)/nqix, 255, 255 ); # rainbow effect
+ $pn->setColor($c);
+ $p->setPen($pn);
+ $p->drawLine(ox->[0][$i], oy->[0][$i], ox->[1][$i], oy->[1][$i]);
+ }
+ $p->setPen(&white);
+ $p->drawText(rect(), &AlignCenter, label);
+}
+
+sub inc
+{
+ my ($x, $dx, $b)= @_;
+ $x += $dx;
+ if ($x<0) { $x=0; $dx=rand(8)+2; }
+ elsif ($x>=$b) { $x=$b-1; $dx=-(rand(8)+2); }
+ return ($x, $dx)
+}
+
+1;
+
+package CPUWaster;
+
+use TQt;
+use TQt::isa "TQt::Widget";
+use TQt::attributes qw[
+ menubar
+ file
+ options
+ rects
+ pb
+ td_id
+ ld_id
+ dl_id
+ cl_id
+ md_id
+ got_stop
+ timer_driven
+ default_label
+];
+use TQt::slots
+ drawItemRects => ['int'],
+ doMenuItem => ['int'],
+ stopDrawing => [ ],
+ timerDriven => [ ],
+ loopDriven => [ ],
+ defaultLabel => [ ],
+ customLabel => [ ],
+ toggleMinimumDuration
+ => [ ];
+use AnimatedThingy;
+
+use constant first_draw_item => 1000;
+use constant last_draw_item => 1006;
+
+sub NEW
+{
+ shift->SUPER::NEW(@_);
+
+ menubar = MenuBar( this, "menu" );
+ pb = 0;
+
+ file = TQt::PopupMenu;
+ menubar->insertItem( "&File", file );
+ for (my $i=first_draw_item; $i<=last_draw_item; $i++)
+ { file->insertItem( drawItemRects($i)." Rectangles", $i) }
+ TQt::Object::connect( menubar, TQT_SIGNAL "activated(int)", this, TQT_SLOT "doMenuItem(int)" );
+ file->insertSeparator;
+ file->insertItem( "Quit", TQt::app(), TQT_SLOT "quit()" );
+ options = TQt::PopupMenu;
+ menubar->insertItem( "&Options", options );
+ td_id = options->insertItem( "Timer driven", this, TQT_SLOT "timerDriven()" );
+ ld_id = options->insertItem( "Loop driven", this, TQT_SLOT "loopDriven()" );
+ options->insertSeparator;
+ dl_id = options->insertItem( "Default label", this, TQT_SLOT "defaultLabel()" );
+ cl_id = options->insertItem( "Custom label", this, TQT_SLOT "customLabel()" );
+ options->insertSeparator;
+ md_id = options->insertItem( "No minimum duration", this, TQT_SLOT "toggleMinimumDuration()" );
+ options->setCheckable( 1 );
+ loopDriven();
+ customLabel();
+
+ setFixedSize( 400, 300 );
+
+ setBackgroundColor( &black );
+}
+
+
+sub drawItemRects
+{
+ my $id = shift;
+ my $n = $id - first_draw_item;
+ my $r = 100;
+ while($n--)
+ { $r *= $n%3 ? 5:4 }
+ return $r
+}
+
+
+sub doMenuItem
+{
+ my $id = shift;
+ draw(drawItemRects($id)) if ($id >= first_draw_item && $id <= last_draw_item)
+}
+
+sub stopDrawing
+{ got_stop = 1 }
+
+sub timerDriven()
+{
+ timer_driven = 1;
+ options->setItemChecked( td_id, 1 );
+ options->setItemChecked( ld_id, 0 );
+}
+
+sub loopDriven
+{
+ timer_driven = 0;
+ options->setItemChecked( ld_id, 1 );
+ options->setItemChecked( td_id, 0 );
+}
+
+sub defaultLabel
+{
+ default_label = 1;
+ options->setItemChecked( dl_id, 1 );
+ options->setItemChecked( cl_id, 0 );
+}
+
+sub customLabel
+{
+ default_label = 0;
+ options->setItemChecked( dl_id, 0 );
+ options->setItemChecked( cl_id, 1 );
+}
+
+sub toggleMinimumDuration
+{
+ options->setItemChecked( md_id,
+ !options->isItemChecked( md_id ) );
+}
+
+sub timerEvent
+{
+ pb->setProgress( pb->totalSteps - rects ) if(!(rects%100));
+ rects--;
+
+ {
+ my $p = TQt::Painter(this);
+
+ my $ww = width();
+ my $wh = height();
+
+ if ( $ww > 8 && $wh > 8 )
+ {
+ my $c = TQt::Color(rand(255), rand(255), rand(255));
+ my $x = rand($ww-8);
+ my $y = rand($wh-8);
+ my $w = rand($ww-$x);
+ my $h = rand($wh-$y);
+ $p->fillRect( $x, $y, $w, $h, Brush($c) );
+ }
+ }
+
+ if (!rects || got_stop)
+ {
+ pb->setProgress( pb->totalSteps );
+ my $p = TQt::Painter(this);
+ $p->fillRect(0, 0, width(), height(), Brush(backgroundColor()));
+ enableDrawingItems(1);
+ killTimers();
+ pb = 0;
+ }
+}
+
+sub newProgressDialog
+{
+ my($label, $steps, $modal) = @_;
+ my $d = ProgressDialog($label, "Cancel", $steps, this,
+ "progress", $modal);
+ if ( options->isItemChecked( md_id ) )
+ { $d->setMinimumDuration(0) }
+ if ( !default_label )
+ { $d->setLabel( AnimatedThingy($d,$label) ) }
+ return $d;
+}
+
+sub enableDrawingItems
+{
+ my $yes = shift;
+ for (my $i=first_draw_item; $i<=last_draw_item; $i++)
+ {
+ menubar->setItemEnabled($i, $yes);
+ }
+}
+
+sub draw
+{
+ my $n = shift;
+ if ( timer_driven )
+ {
+ if ( pb ) {
+ warn("This cannot happen!");
+ return;
+ }
+ rects = $n;
+ pb = newProgressDialog("Drawing rectangles.\n".
+ "Using timer event.", $n, 0);
+ pb->setCaption("Please Wait");
+ TQt::Object::connect(pb, TQT_SIGNAL "cancelled()", this, TQT_SLOT "stopDrawing()");
+ enableDrawingItems(0);
+ startTimer(0);
+ got_stop = 0;
+ }
+ else
+ {
+ my $lpb = newProgressDialog("Drawing rectangles.\n".
+ "Using loop.", $n, 1);
+ $lpb->setCaption("Please Wait");
+
+ my $p = TQt::Painter(this);
+ for (my $i=0; $i<$n; $i++)
+ {
+ if(!($i%100))
+ {
+ $lpb->setProgress($i);
+ last if ( $lpb->wasCancelled );
+ }
+ my ($cw, $ch) = (width(), height());
+ my $c = TQt::Color(rand(255), rand(255), rand(255));
+ my $x = rand($cw-8);
+ my $y = rand($cw-8);
+ my $w = rand($cw-$x);
+ my $h = rand($cw-$y);
+ $p->fillRect($x, $y, $w, $h, Brush($c));
+ }
+ $lpb->cancel;
+ $p->fillRect(0, 0, width(), height(), Brush(backgroundColor()));
+ }
+}
+
+1;
+
+package main;
+
+use TQt;
+use CPUWaster;
+
+my $a=TQt::Application(\@ARGV);
+my $w=CPUWaster;
+
+$w->show;
+$a->setMainWidget($w);
+exit $a->exec;
diff --git a/PerlTQt/examples/richedit/imageCollection.pm b/PerlTQt/examples/richedit/imageCollection.pm
new file mode 100644
index 0000000..9ba9880
--- /dev/null
+++ b/PerlTQt/examples/richedit/imageCollection.pm
@@ -0,0 +1,1461 @@
+# Image collection for project 'richedit'.
+#
+# Generated from reading image files:
+# images/CVS
+# images/editcopy
+# images/editcut
+# images/editpaste
+# images/filenew
+# images/fileopen
+# images/filesave
+# images/print
+# images/redo
+# images/searchfind
+# images/textbold
+# images/textcenter
+# images/textitalic
+# images/textleft
+# images/textright
+# images/textunder
+# images/undo
+#
+# Created: jeu jun 13 20:03:44 2002
+# by: The PerlTQt User Interface Compiler (puic)
+#
+# WARNING! All changes made in this file will be lost!
+
+use strict;
+
+package DesignerMimeSourceFactory_richedit;
+use TQt;
+use TQt::isa qw(TQt::MimeSourceFactory);
+
+# images/editcopy
+my $image_0_data = pack 'L*',
+
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xff000000, 0xff000000, 0xff000000, 0xff000000,
+ 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xff000000, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+ 0xffffffff, 0xff000000, 0xff000000, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xff000000, 0xffffffff,
+ 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xffffffff, 0xff000000,
+ 0xffffffff, 0xff000000, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xff000000, 0xffffffff, 0xffffffff, 0xffffffff,
+ 0xffffffff, 0xffffffff, 0xffffffff, 0xff000000, 0xffffffff, 0xffffffff,
+ 0xff000000, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xff000000, 0xffffffff, 0xff000000, 0xff000000, 0xff000000, 0xff000000,
+ 0xffffffff, 0xff000000, 0xff000082, 0xff000082, 0xff000082, 0xff000082,
+ 0xff000082, 0xff000082, 0xff000082, 0xff000082, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xff000000, 0xffffffff,
+ 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xff000000,
+ 0xff000082, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+ 0xffffffff, 0xff000082, 0xff000082, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xff000000, 0xffffffff, 0xff000000, 0xff000000,
+ 0xff000000, 0xff000000, 0xff000000, 0xffffffff, 0xff000082, 0xffffffff,
+ 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xffffffff, 0xff000082,
+ 0xff3c3cfd, 0xff000082, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xff000000, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+ 0xffffffff, 0xffffffff, 0xff000082, 0xffffffff, 0xffffffff, 0xffffffff,
+ 0xffffffff, 0xffffffff, 0xffffffff, 0xff000082, 0xff8b8bfd, 0xff3c3cfd,
+ 0xff000082, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xff000000, 0xffffffff,
+ 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xffffffff,
+ 0xff000082, 0xffffffff, 0xff000000, 0xff000000, 0xff000000, 0xff000000,
+ 0xffffffff, 0xff000082, 0xffffffff, 0xff8b8bfd, 0xff3c3cfd, 0xff000082,
+ 0xc6c6c6, 0xc6c6c6, 0xff000000, 0xffffffff, 0xffffffff, 0xffffffff,
+ 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xff000082, 0xffffffff,
+ 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xff000082,
+ 0xff000082, 0xff000082, 0xff000082, 0xff000082, 0xff000082, 0xc6c6c6,
+ 0xff000000, 0xffffffff, 0xff000000, 0xff000000, 0xff000000, 0xff000000,
+ 0xff000000, 0xffffffff, 0xff000082, 0xffffffff, 0xff000000, 0xff000000,
+ 0xff000000, 0xff000000, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+ 0xffffffff, 0xffffffff, 0xff000082, 0xc6c6c6, 0xff000000, 0xffffffff,
+ 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+ 0xff000082, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+ 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+ 0xff000082, 0xc6c6c6, 0xff000000, 0xffffffff, 0xff000000, 0xff000000,
+ 0xff000000, 0xff000000, 0xff000000, 0xffffffff, 0xff000082, 0xffffffff,
+ 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000,
+ 0xff000000, 0xff000000, 0xff000000, 0xffffffff, 0xff000082, 0xc6c6c6,
+ 0xff000000, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+ 0xffffffff, 0xffffffff, 0xff000082, 0xffffffff, 0xffffffff, 0xffffffff,
+ 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+ 0xffffffff, 0xffffffff, 0xff000082, 0xc6c6c6, 0xff000000, 0xff000000,
+ 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000,
+ 0xff000082, 0xffffffff, 0xff000000, 0xff000000, 0xff000000, 0xff000000,
+ 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xffffffff,
+ 0xff000082, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xff000082, 0xffffffff,
+ 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+ 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xff000082, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xff000082, 0xffffffff, 0xff000000, 0xff000000,
+ 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000,
+ 0xff000000, 0xffffffff, 0xff000082, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xff000082, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+ 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+ 0xff000082, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xff000082, 0xff000082,
+ 0xff000082, 0xff000082, 0xff000082, 0xff000082, 0xff000082, 0xff000082,
+ 0xff000082, 0xff000082, 0xff000082, 0xff000082, 0xff000082, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6;
+
+# images/editcut
+my $image_1_data = pack 'L*',
+
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xff000000,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xff000000,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xff000000, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xff000000, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xff000000, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xff000000, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xff000000,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xff000000, 0xff000000,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xff000000, 0xff000000, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xff000000, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xff000000, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xff000000, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xff000000, 0xff000000, 0xc6c6c6, 0xff000000, 0xff000000, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xff000000,
+ 0xff000000, 0xff000000, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xff000000, 0xff000000, 0xff000000,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xff000000, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xff000082,
+ 0xff000000, 0xff000082, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xff000082, 0xff000082, 0xc6c6c6, 0xff000082,
+ 0xff000082, 0xff000082, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xff000082,
+ 0xc6c6c6, 0xff000082, 0xc6c6c6, 0xff000082, 0xc6c6c6, 0xc6c6c6,
+ 0xff000082, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xff000082, 0xc6c6c6, 0xc6c6c6, 0xff000082,
+ 0xc6c6c6, 0xff000082, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xff000082,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xff000082,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xff000082, 0xc6c6c6, 0xff000082,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xff000082, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xff000082, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xff000082, 0xc6c6c6, 0xff000082, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xff000082, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xff000082, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xff000082,
+ 0xc6c6c6, 0xc6c6c6, 0xff000082, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xff000082, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xff000082, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xff000082, 0xc6c6c6, 0xc6c6c6,
+ 0xff000082, 0xc6c6c6, 0xc6c6c6, 0xff000082, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xff000082, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xff000082, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xff000082,
+ 0xff000082, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xff000082, 0xff000082, 0xff000082, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6;
+
+# images/editpaste
+my $image_2_data = pack 'L*',
+
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xff000000,
+ 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xff000000, 0xff000000,
+ 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xffffff00, 0xffffff00,
+ 0xffffff00, 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000,
+ 0xff000000, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000,
+ 0xff000000, 0xffffff00, 0xffffff00, 0xffffff00, 0xffffff00, 0xffffff00,
+ 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xff000000, 0xff000000,
+ 0xff848284, 0xff848200, 0xff848284, 0xff000000, 0xff000000, 0xffffff00,
+ 0xff000000, 0xff000000, 0xff000000, 0xffffff00, 0xff000000, 0xff000000,
+ 0xff848284, 0xff848200, 0xff848284, 0xff000000, 0xff000000, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xff000000, 0xff848284, 0xff848200, 0xff848284,
+ 0xff000000, 0xffc6c3c6, 0xffc6c3c6, 0xffc6c3c6, 0xffc6c3c6, 0xffc6c3c6,
+ 0xffc6c3c6, 0xffc6c3c6, 0xffc6c3c6, 0xffc6c3c6, 0xff000000, 0xff848284,
+ 0xff848200, 0xff848284, 0xff000000, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xff000000, 0xff848200, 0xff848284, 0xff848200, 0xff000000, 0xffc6c3c6,
+ 0xffc6c3c6, 0xffc6c3c6, 0xffc6c3c6, 0xffc6c3c6, 0xffc6c3c6, 0xffc6c3c6,
+ 0xffc6c3c6, 0xffc6c3c6, 0xff000000, 0xff848200, 0xff848284, 0xff848200,
+ 0xff000000, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xff000000, 0xff848284,
+ 0xff848200, 0xff848284, 0xff000000, 0xff000000, 0xff000000, 0xff000000,
+ 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000,
+ 0xff000000, 0xff848284, 0xff848200, 0xff848284, 0xff000000, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xff000000, 0xff848200, 0xff848284, 0xff848200,
+ 0xff848284, 0xff848200, 0xff848284, 0xff848200, 0xff848284, 0xff848200,
+ 0xff848284, 0xff848200, 0xff848284, 0xff848200, 0xff848284, 0xff848200,
+ 0xff848284, 0xff848200, 0xff000000, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xff000000, 0xff848284, 0xff848200, 0xff848284, 0xff848200, 0xff848284,
+ 0xff848200, 0xff848284, 0xff848200, 0xff848284, 0xff848200, 0xff848284,
+ 0xff848200, 0xff848284, 0xff848200, 0xff848284, 0xff848200, 0xff848284,
+ 0xff000000, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xff000000, 0xff848200,
+ 0xff848284, 0xff848200, 0xff848284, 0xff848200, 0xff848284, 0xff848200,
+ 0xff000084, 0xff000084, 0xff000084, 0xff000084, 0xff000084, 0xff000084,
+ 0xff000084, 0xff000084, 0xff000084, 0xff000084, 0xff000000, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xff000000, 0xff848284, 0xff848200, 0xff848284,
+ 0xff848200, 0xff848284, 0xff848200, 0xff848284, 0xff000084, 0xffffffff,
+ 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+ 0xff000084, 0xffffffff, 0xff000084, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xff000000, 0xff848200, 0xff848284, 0xff848200, 0xff848284, 0xff848200,
+ 0xff848284, 0xff848200, 0xff000084, 0xffffffff, 0xff000084, 0xff000084,
+ 0xff000084, 0xff000084, 0xff000084, 0xffffffff, 0xff000084, 0xffffffff,
+ 0xffffffff, 0xff000084, 0xc6c6c6, 0xc6c6c6, 0xff000000, 0xff848284,
+ 0xff848200, 0xff848284, 0xff848200, 0xff848284, 0xff848200, 0xff848284,
+ 0xff000084, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+ 0xffffffff, 0xffffffff, 0xff000084, 0xffffffff, 0xffffffff, 0xffffffff,
+ 0xff000084, 0xc6c6c6, 0xff000000, 0xff848200, 0xff848284, 0xff848200,
+ 0xff848284, 0xff848200, 0xff848284, 0xff848200, 0xff000084, 0xffffffff,
+ 0xff000084, 0xff000084, 0xff000084, 0xff000084, 0xff000084, 0xffffffff,
+ 0xff000084, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xff000084,
+ 0xff000000, 0xff848284, 0xff848200, 0xff848284, 0xff848200, 0xff848284,
+ 0xff848200, 0xff848284, 0xff000084, 0xffffffff, 0xffffffff, 0xffffffff,
+ 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xff000084, 0xff000084,
+ 0xff000084, 0xff000084, 0xff000084, 0xff000084, 0xff000000, 0xff848200,
+ 0xff848284, 0xff848200, 0xff848284, 0xff848200, 0xff848284, 0xff848200,
+ 0xff000084, 0xffffffff, 0xff000084, 0xff000084, 0xff000084, 0xff000084,
+ 0xff000084, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+ 0xffffffff, 0xff000084, 0xff000000, 0xff848284, 0xff848200, 0xff848284,
+ 0xff848200, 0xff848284, 0xff848200, 0xff848284, 0xff000084, 0xffffffff,
+ 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+ 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xff000084,
+ 0xff000000, 0xff848200, 0xff848284, 0xff848200, 0xff848284, 0xff848200,
+ 0xff848284, 0xff848200, 0xff000084, 0xffffffff, 0xff000084, 0xff000084,
+ 0xff000084, 0xff000084, 0xff000084, 0xff000084, 0xff000084, 0xff000084,
+ 0xff000084, 0xff000084, 0xffffffff, 0xff000084, 0xc6c6c6, 0xff000000,
+ 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000,
+ 0xff000084, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+ 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+ 0xffffffff, 0xff000084, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xff000084, 0xff000084,
+ 0xff000084, 0xff000084, 0xff000084, 0xff000084, 0xff000084, 0xff000084,
+ 0xff000084, 0xff000084, 0xff000084, 0xff000084, 0xff000084, 0xff000084,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6;
+
+# images/filenew
+my $image_3_data = pack 'L*',
+
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xff000000, 0xff000000, 0xff000000, 0xff000000,
+ 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xff000000, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+ 0xffffffff, 0xffffffff, 0xff000000, 0xff2e2e2e, 0xff000000, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xff000000, 0xffffffff,
+ 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+ 0xff000000, 0xff5c5c5c, 0xff2e2e2e, 0xff000000, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xff000000, 0xffffffff, 0xffffffff, 0xffffffff,
+ 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xff000000, 0xff878787,
+ 0xff5c5c5c, 0xff2e2e2e, 0xff000000, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xff000000, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+ 0xffffffff, 0xffffffff, 0xff000000, 0xffc2c2c2, 0xff878787, 0xff5c5c5c,
+ 0xff2e2e2e, 0xff000000, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xff000000, 0xffffffff,
+ 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+ 0xff000000, 0xffffffff, 0xffc2c2c2, 0xff878787, 0xff5c5c5c, 0xff2e2e2e,
+ 0xff000000, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xff000000, 0xffffffff, 0xffffffff, 0xffffffff,
+ 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xff000000, 0xff000000,
+ 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xff000000, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+ 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+ 0xffffffff, 0xffffffff, 0xff000000, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xff000000, 0xffffffff,
+ 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+ 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+ 0xff000000, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xff000000, 0xffffffff, 0xffffffff, 0xffffffff,
+ 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+ 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xff000000, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xff000000, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+ 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+ 0xffffffff, 0xffffffff, 0xff000000, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xff000000, 0xffffffff,
+ 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+ 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+ 0xff000000, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xff000000, 0xffffffff, 0xffffffff, 0xffffffff,
+ 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+ 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xff000000, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xff000000, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+ 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+ 0xffffffff, 0xffffffff, 0xff000000, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xff000000, 0xffffffff,
+ 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+ 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+ 0xff000000, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xff000000, 0xffffffff, 0xffffffff, 0xffffffff,
+ 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+ 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xff000000, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xff000000, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+ 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+ 0xffffffff, 0xffffffff, 0xff000000, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xff000000, 0xffffffff,
+ 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+ 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+ 0xff000000, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xff000000, 0xff000000, 0xff000000, 0xff000000,
+ 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000,
+ 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6;
+
+# images/fileopen
+my $image_4_data = pack 'L*',
+
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xff000000, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xff000000, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xff000000, 0xff000000, 0xc6c6c6, 0xff000000,
+ 0xff000000, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xff000000, 0xff000000, 0xff000000, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xff000000,
+ 0xff000000, 0xff000000, 0xff000000, 0xc6c6c6, 0xc6c6c6, 0xff000000,
+ 0xff000000, 0xff000000, 0xff000000, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xff000000, 0xff000000, 0xff000000, 0xff000000,
+ 0xff000000, 0xc6c6c6, 0xff000000, 0xffffff00, 0xffffffff, 0xffffff00,
+ 0xffffffff, 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000,
+ 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xff000000, 0xffffffff, 0xffffff00, 0xffffffff, 0xffffff00, 0xffffffff,
+ 0xffffff00, 0xffffffff, 0xffffff00, 0xffffffff, 0xffffff00, 0xffffffff,
+ 0xffffff00, 0xffffffff, 0xff000000, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xff000000, 0xffffff00,
+ 0xffffffff, 0xffffff00, 0xffffffff, 0xffffff00, 0xffffffff, 0xffffff00,
+ 0xffffffff, 0xffffff00, 0xffffffff, 0xffffff00, 0xffffffff, 0xffffff00,
+ 0xff000000, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xff000000, 0xffffffff, 0xffffff00, 0xffffffff,
+ 0xffffff00, 0xffffffff, 0xffffff00, 0xffffffff, 0xffffff00, 0xffffffff,
+ 0xffffff00, 0xffffffff, 0xffffff00, 0xffffffff, 0xff000000, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xff000000, 0xffffff00, 0xffffffff, 0xffffff00, 0xffffffff, 0xffffff00,
+ 0xffffffff, 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000,
+ 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000,
+ 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xffffffff,
+ 0xffffff00, 0xffffffff, 0xffffff00, 0xffffffff, 0xff000000, 0xff000000,
+ 0xff848200, 0xff848200, 0xff848200, 0xff848200, 0xff848200, 0xff848200,
+ 0xff848200, 0xff848200, 0xff848200, 0xff848200, 0xff848200, 0xff848200,
+ 0xff000000, 0xff000000, 0xff000000, 0xffffff00, 0xffffffff, 0xffffff00,
+ 0xffffffff, 0xff000000, 0xff000000, 0xff848200, 0xff848200, 0xff848200,
+ 0xff848200, 0xff848200, 0xff848200, 0xff848200, 0xff848200, 0xff848200,
+ 0xff848200, 0xff848200, 0xff848200, 0xff000000, 0xff000000, 0xc6c6c6,
+ 0xff000000, 0xffffffff, 0xffffff00, 0xffffffff, 0xff000000, 0xff000000,
+ 0xff848200, 0xff848200, 0xff848200, 0xff848200, 0xff848200, 0xff848200,
+ 0xff848200, 0xff848200, 0xff848200, 0xff848200, 0xff848200, 0xff848200,
+ 0xff000000, 0xff000000, 0xc6c6c6, 0xc6c6c6, 0xff000000, 0xffffff00,
+ 0xffffffff, 0xff000000, 0xff000000, 0xff848200, 0xff848200, 0xff848200,
+ 0xff848200, 0xff848200, 0xff848200, 0xff848200, 0xff848200, 0xff848200,
+ 0xff848200, 0xff848200, 0xff848200, 0xff000000, 0xff000000, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xff000000, 0xffffffff, 0xff000000, 0xff000000,
+ 0xff848200, 0xff848200, 0xff848200, 0xff848200, 0xff848200, 0xff848200,
+ 0xff848200, 0xff848200, 0xff848200, 0xff848200, 0xff848200, 0xff848200,
+ 0xff000000, 0xff000000, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xff000000, 0xff000000, 0xff000000, 0xff848200, 0xff848200, 0xff848200,
+ 0xff848200, 0xff848200, 0xff848200, 0xff848200, 0xff848200, 0xff848200,
+ 0xff848200, 0xff848200, 0xff848200, 0xff000000, 0xff000000, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xff000000, 0xff000000,
+ 0xff848200, 0xff848200, 0xff848200, 0xff848200, 0xff848200, 0xff848200,
+ 0xff848200, 0xff848200, 0xff848200, 0xff848200, 0xff848200, 0xff848200,
+ 0xff000000, 0xff000000, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xff000000, 0xff000000, 0xff000000, 0xff000000,
+ 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000,
+ 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6;
+
+# images/filesave
+my $image_5_data = pack 'L*',
+
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xff000000,
+ 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000,
+ 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000,
+ 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000,
+ 0xff000000, 0xc6c6c6, 0xc6c6c6, 0xff000000, 0xff848200, 0xff848200,
+ 0xff000000, 0xffc1c1c1, 0xffc1c1c1, 0xffc1c1c1, 0xffc1c1c1, 0xffc1c1c1,
+ 0xffc1c1c1, 0xffc1c1c1, 0xffc1c1c1, 0xffc1c1c1, 0xffc1c1c1, 0xffc1c1c1,
+ 0xffc1c1c1, 0xff000000, 0xffc1c1c1, 0xffc1c1c1, 0xff000000, 0xc6c6c6,
+ 0xc6c6c6, 0xff000000, 0xff848200, 0xff848200, 0xff000000, 0xffc1c1c1,
+ 0xffc1c1c1, 0xffc1c1c1, 0xffc1c1c1, 0xffc1c1c1, 0xffc1c1c1, 0xffc1c1c1,
+ 0xffc1c1c1, 0xffc1c1c1, 0xffc1c1c1, 0xffc1c1c1, 0xffc1c1c1, 0xff000000,
+ 0xffc1c1c1, 0xffc1c1c1, 0xff000000, 0xc6c6c6, 0xc6c6c6, 0xff000000,
+ 0xff848200, 0xff848200, 0xff000000, 0xffc1c1c1, 0xffc1c1c1, 0xffc1c1c1,
+ 0xffc1c1c1, 0xffc1c1c1, 0xffc1c1c1, 0xffc1c1c1, 0xffc1c1c1, 0xffc1c1c1,
+ 0xffcab5d1, 0xffc1c1c1, 0xffc1c1c1, 0xff000000, 0xff000000, 0xff000000,
+ 0xff000000, 0xc6c6c6, 0xc6c6c6, 0xff000000, 0xff848200, 0xff848200,
+ 0xff000000, 0xffc1c1c1, 0xffc1c1c1, 0xffc1c1c1, 0xffcab5d1, 0xffcab5d1,
+ 0xffc1c1c1, 0xffc1c1c1, 0xffc1c1c1, 0xffc1c1c1, 0xffc1c1c1, 0xffc1c1c1,
+ 0xffc1c1c1, 0xff000000, 0xff848200, 0xff848200, 0xff000000, 0xc6c6c6,
+ 0xc6c6c6, 0xff000000, 0xff848200, 0xff848200, 0xff000000, 0xffc1c1c1,
+ 0xffc1c1c1, 0xffc1c1c1, 0xffcab5d1, 0xffcab5d1, 0xffc1c1c1, 0xffc1c1c1,
+ 0xffc1c1c1, 0xffc1c1c1, 0xffc1c1c1, 0xffc1c1c1, 0xffc1c1c1, 0xff000000,
+ 0xff848200, 0xff848200, 0xff000000, 0xc6c6c6, 0xc6c6c6, 0xff000000,
+ 0xff848200, 0xff848200, 0xff000000, 0xffc1c1c1, 0xffc1c1c1, 0xffc1c1c1,
+ 0xffc1c1c1, 0xffc1c1c1, 0xffc1c1c1, 0xffc1c1c1, 0xffc1c1c1, 0xffc1c1c1,
+ 0xffc1c1c1, 0xffc1c1c1, 0xffc1c1c1, 0xff000000, 0xff848200, 0xff848200,
+ 0xff000000, 0xc6c6c6, 0xc6c6c6, 0xff000000, 0xff848200, 0xff848200,
+ 0xff000000, 0xffc1c1c1, 0xffc1c1c1, 0xffc1c1c1, 0xffc1c1c1, 0xffc1c1c1,
+ 0xffc1c1c1, 0xffc1c1c1, 0xffc1c1c1, 0xffc1c1c1, 0xffc1c1c1, 0xffc1c1c1,
+ 0xffc1c1c1, 0xff000000, 0xff848200, 0xff848200, 0xff000000, 0xc6c6c6,
+ 0xc6c6c6, 0xff000000, 0xff848200, 0xff848200, 0xff000000, 0xffc1c1c1,
+ 0xffc1c1c1, 0xffc1c1c1, 0xffc1c1c1, 0xffc1c1c1, 0xffc1c1c1, 0xffc1c1c1,
+ 0xffc1c1c1, 0xffc1c1c1, 0xffc1c1c1, 0xffc1c1c1, 0xffc1c1c1, 0xff000000,
+ 0xff848200, 0xff848200, 0xff000000, 0xc6c6c6, 0xc6c6c6, 0xff000000,
+ 0xff848200, 0xff848200, 0xff000000, 0xffc1c1c1, 0xffc1c1c1, 0xffc1c1c1,
+ 0xffc1c1c1, 0xffc1c1c1, 0xffc1c1c1, 0xffc1c1c1, 0xffc1c1c1, 0xffc1c1c1,
+ 0xffc1c1c1, 0xffc1c1c1, 0xffc1c1c1, 0xff000000, 0xff848200, 0xff848200,
+ 0xff000000, 0xc6c6c6, 0xc6c6c6, 0xff000000, 0xff848200, 0xff848200,
+ 0xff848200, 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000,
+ 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000,
+ 0xff000000, 0xff848200, 0xff848200, 0xff848200, 0xff000000, 0xc6c6c6,
+ 0xc6c6c6, 0xff000000, 0xff848200, 0xff848200, 0xff848200, 0xff848200,
+ 0xff848200, 0xff848200, 0xff848200, 0xff848200, 0xff848200, 0xff848200,
+ 0xff848200, 0xff848200, 0xff848200, 0xff848200, 0xff848200, 0xff848200,
+ 0xff848200, 0xff848200, 0xff000000, 0xc6c6c6, 0xc6c6c6, 0xff000000,
+ 0xff848200, 0xff848200, 0xff848200, 0xff848200, 0xff848200, 0xff848200,
+ 0xff848200, 0xff848200, 0xff848200, 0xff848200, 0xff848200, 0xff848200,
+ 0xff848200, 0xff848200, 0xff848200, 0xff848200, 0xff848200, 0xff848200,
+ 0xff000000, 0xc6c6c6, 0xc6c6c6, 0xff000000, 0xff848200, 0xff848200,
+ 0xff848200, 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000,
+ 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000,
+ 0xff000000, 0xff000000, 0xff848200, 0xff848200, 0xff000000, 0xc6c6c6,
+ 0xc6c6c6, 0xff000000, 0xff848200, 0xff848200, 0xff848200, 0xff000000,
+ 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000,
+ 0xff000000, 0xff000000, 0xffc1c1c1, 0xffc1c1c1, 0xffc1c1c1, 0xff000000,
+ 0xff848200, 0xff848200, 0xff000000, 0xc6c6c6, 0xc6c6c6, 0xff000000,
+ 0xff848200, 0xff848200, 0xff848200, 0xff000000, 0xff000000, 0xff000000,
+ 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000,
+ 0xffc1c1c1, 0xffc1c1c1, 0xffc1c1c1, 0xff000000, 0xff848200, 0xff848200,
+ 0xff000000, 0xc6c6c6, 0xc6c6c6, 0xff000000, 0xff848200, 0xff848200,
+ 0xff848200, 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000,
+ 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xffc1c1c1, 0xffc1c1c1,
+ 0xffc1c1c1, 0xff000000, 0xff848200, 0xff848200, 0xff000000, 0xc6c6c6,
+ 0xc6c6c6, 0xff000000, 0xff848200, 0xff848200, 0xff848200, 0xff000000,
+ 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000,
+ 0xff000000, 0xff000000, 0xffc1c1c1, 0xffc1c1c1, 0xffc1c1c1, 0xff000000,
+ 0xff848200, 0xff848200, 0xff000000, 0xc6c6c6, 0xc6c6c6, 0xff000000,
+ 0xff848200, 0xff848200, 0xff848200, 0xff000000, 0xff000000, 0xff000000,
+ 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000,
+ 0xffc1c1c1, 0xffc1c1c1, 0xffc1c1c1, 0xff000000, 0xff848200, 0xff848200,
+ 0xff000000, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xff000000, 0xff000000,
+ 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000,
+ 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000,
+ 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6;
+
+# images/print
+my $image_6_data = pack 'L*',
+
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xffb5b5b5, 0xffbdbdbd, 0xffcecece, 0xffcecece, 0xffcecece, 0xffcecece,
+ 0xffc6c6c6, 0xffc6c6c6, 0xffbdbdbd, 0xffbdbdbd, 0xffadadad, 0xffbdbdbd,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xffbdbdbd, 0xffefefef,
+ 0xffe7e7e7, 0xffe7e7e7, 0xffe7e7e7, 0xffe7e7e7, 0xffe7e7e7, 0xffefefef,
+ 0xffefefef, 0xffefefef, 0xffdedede, 0xffbdbdbd, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xffbdbdbd, 0xffc6c6c6, 0xffc6c6c6, 0xffc6c6c6,
+ 0xffcecece, 0xffcecece, 0xffc6c6c6, 0xffc6c6c6, 0xffc6c6c6, 0xffc6c6c6,
+ 0xffbdbdbd, 0xffc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xffb5b5b5, 0xffbdbdbd, 0xffbdbdbd, 0xffbdbdbd, 0xffbdbdbd, 0xffb5b5b5,
+ 0xffbdbdbd, 0xffbdbdbd, 0xffb5b5b5, 0xffb5b5b5, 0xffadadad, 0xffbdbdbd,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xffc6c6c6, 0xffadadad, 0xffc6c6c6,
+ 0xffbdbdbd, 0xffc6c6c6, 0xffc6c6c6, 0xffc6c6c6, 0xffbdbdbd, 0xffbdbdbd,
+ 0xffbdbdbd, 0xffc6c6c6, 0xffb5b5b5, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xffbdbdbd, 0xffbdbdbd, 0xffb5b5b5, 0xffbdbdbd, 0xffbdbdbd,
+ 0xffbdbdbd, 0xffbdbdbd, 0xffbdbdbd, 0xffbdbdbd, 0xffc6c6c6, 0xffc6c6c6,
+ 0xffb5b5b5, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xffbdbdbd,
+ 0xffb5b5b5, 0xffc6c6c6, 0xffbdbdbd, 0xffbdbdbd, 0xffbdbdbd, 0xffbdbdbd,
+ 0xffbdbdbd, 0xffc6c6c6, 0xffbdbdbd, 0xffc6c6c6, 0xffadadad, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xffc6c6c6, 0xffbdbdbd, 0xffbdbdbd,
+ 0xffbdbdbd, 0xffbdbdbd, 0xffbdbdbd, 0xffbdbdbd, 0xffbdbdbd, 0xffbdbdbd,
+ 0xffbdbdbd, 0xffbdbdbd, 0xffb5b5b5, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xffadadad, 0xffcecece, 0xffe7e7e7, 0xffdedede, 0xffdedede,
+ 0xffdedede, 0xffdedede, 0xffdedede, 0xffdedede, 0xffd6d6d6, 0xffdedede,
+ 0xffa5a5a5, 0xffa5a5a5, 0xffadadb5, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xffbdbdbd, 0xff9c9c9c, 0xff736b73,
+ 0xffb5b5b5, 0xffd6d6d6, 0xffcecece, 0xffd6d6d6, 0xffcecece, 0xffd6d6d6,
+ 0xffcecece, 0xffd6d6d6, 0xffdedede, 0xffdedede, 0xff948c94, 0xff5a525a,
+ 0xff424242, 0xff6b6b6b, 0xffb5b5b5, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xffbdbdbd, 0xff94949c, 0xff847b84, 0xff7b7384, 0xff7b737b, 0xff7b737b,
+ 0xff7b737b, 0xff7b737b, 0xff7b737b, 0xff7b737b, 0xff7b737b, 0xff847b8c,
+ 0xff8c7b94, 0xff8c8494, 0xff6b6b73, 0xff393942, 0xff212129, 0xff181821,
+ 0xff424242, 0xffa5a5a5, 0xc6c6c6, 0xffbdbdbd, 0xff9c9c9c, 0xffded6de,
+ 0xffe7e7ef, 0xffdedee7, 0xffded6de, 0xffd6d6de, 0xffd6d6de, 0xffd6d6de,
+ 0xffd6d6de, 0xffd6ced6, 0xffd6cede, 0xff9ccea5, 0xff5ace5a, 0xff94c694,
+ 0xffa59ca5, 0xff424242, 0xff211821, 0xff211821, 0xff181018, 0xff393942,
+ 0xffbdbdbd, 0xff9c9ca5, 0xffefe7ef, 0xffffffff, 0xffffffff, 0xffffffff,
+ 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+ 0xffd6ffd6, 0xff29ff29, 0xff08ff08, 0xff29ff29, 0xffcecece, 0xff8c7b94,
+ 0xff313131, 0xff181821, 0xff101010, 0xff211821, 0xffada5ad, 0xfff7f7f7,
+ 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+ 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffe7ffe7, 0xff6bff63,
+ 0xff31ff31, 0xff7bff7b, 0xffffffff, 0xffded6e7, 0xff7b737b, 0xff181821,
+ 0xff000000, 0xff211821, 0xffa5a5ad, 0xffd6d6de, 0xffceced6, 0xffcec6ce,
+ 0xffceced6, 0xffd6d6d6, 0xffd6d6de, 0xffd6d6de, 0xffdedede, 0xffe7dee7,
+ 0xffdedee7, 0xffded6de, 0xffdedee7, 0xffd6d6de, 0xffbdd6bd, 0xffd6ced6,
+ 0xffceced6, 0xffcec6ce, 0xff8c8c94, 0xff181018, 0xff000000, 0xff181821,
+ 0xff948c94, 0xffb5adb5, 0xffadadb5, 0xffada5ad, 0xffa5a5ad, 0xffa59cad,
+ 0xffa5a5ad, 0xffa59ca5, 0xffa59cad, 0xffa59cad, 0xffa5a5a5, 0xffa59cad,
+ 0xffa59ca5, 0xffa59cad, 0xffad9cad, 0xff9c94a5, 0xff94949c, 0xff8c8c94,
+ 0xff6b636b, 0xff101018, 0xff000000, 0xff211821, 0xff948c94, 0xffadadb5,
+ 0xffadadb5, 0xffa59cad, 0xffa5a5ad, 0xffa59ca5, 0xffa59ca5, 0xffa59ca5,
+ 0xff9c9ca5, 0xffa59ca5, 0xff9c9ca5, 0xff9c9ca5, 0xff9c9ca5, 0xff9c9ca5,
+ 0xff9c94a5, 0xff9c949c, 0xff9c949c, 0xff8c8494, 0xff6b636b, 0xff101018,
+ 0xff000000, 0xff181818, 0xff949494, 0xffa59cad, 0xffa59cad, 0xffa59ca5,
+ 0xff9c9ca5, 0xffa59ca5, 0xff9c9ca5, 0xff9c9ca5, 0xff9c9ca5, 0xff9c94a5,
+ 0xff9c9c9c, 0xff9c94a5, 0xff9c949c, 0xff9c949c, 0xff9c949c, 0xff9c94a5,
+ 0xff948c94, 0xff84848c, 0xff6b636b, 0xff181018, 0xff000000, 0xff4a4a52,
+ 0xff948c94, 0xffa5a5ad, 0xffa59ca5, 0xffa59ca5, 0xff9c94a5, 0xff9c9c9c,
+ 0xff9c94a5, 0xff9c949c, 0xff9c94a5, 0xff9c9c9c, 0xff9c94a5, 0xff9c949c,
+ 0xff9c94a5, 0xff9c949c, 0xff94949c, 0xff948c94, 0xff8c8c94, 0xff8c848c,
+ 0xff6b6b73, 0xff101018, 0xff181818, 0xffadadad, 0xff949494, 0xff84848c,
+ 0xff8c848c, 0xff8c8494, 0xff8c8c8c, 0xff8c8494, 0xff8c848c, 0xff8c8c94,
+ 0xff8c8494, 0xff8c848c, 0xff8c8c94, 0xff8c8c94, 0xff948c94, 0xff8c8c94,
+ 0xff948c94, 0xff948c9c, 0xff8c8c94, 0xff8c8494, 0xff6b636b, 0xff181818,
+ 0xff949494, 0xc6c6c6, 0xffb5b5b5, 0xff736b73, 0xff212129, 0xff181821,
+ 0xff212121, 0xff212129, 0xff292129, 0xff292129, 0xff292129, 0xff292931,
+ 0xff312931, 0xff312931, 0xff313139, 0xff313139, 0xff393139, 0xff393139,
+ 0xff313139, 0xff312931, 0xff313139, 0xff949494, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xffadadad, 0xff5a5a63, 0xff423942, 0xff423942,
+ 0xff393939, 0xff313139, 0xff313131, 0xff313131, 0xff313131, 0xff292929,
+ 0xff292929, 0xff212129, 0xff181818, 0xff181818, 0xff100810, 0xff424242,
+ 0xff9c9c9c, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6;
+
+# images/redo
+my $image_7_data = pack 'L*',
+
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xff848284, 0xff000084, 0xff000084, 0xff000084, 0xff000084, 0xff000084,
+ 0xff000084, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xff000084, 0xff000084, 0xff000084,
+ 0xff000084, 0xff000084, 0xff000084, 0xff000084, 0xff000084, 0xff000084,
+ 0xff000084, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xff000084, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xff848284, 0xff000084, 0xff000084, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xff000084, 0xff000084, 0xff000084,
+ 0xff000084, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xff000084, 0xff000084,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xff000084, 0xff000084,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xff000084, 0xff000084, 0xff000084,
+ 0xc6c6c6, 0xff000084, 0xff000084, 0xff000084, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xff000084, 0xff000084, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xff000084, 0xff000084, 0xff000084, 0xff000084,
+ 0xff000084, 0xff000084, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xff000084, 0xff000084, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xff000084, 0xff000084, 0xff000084, 0xff000084, 0xff000084,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xff000084, 0xff000084,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xff000084, 0xff000084,
+ 0xff000084, 0xff000084, 0xff000084, 0xff000084, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xff000084, 0xff000084, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xff000084, 0xff000084, 0xff000084, 0xff000084, 0xff000084,
+ 0xff000084, 0xff000084, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xff848284, 0xff000084, 0xff000084, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xff000084, 0xff000084,
+ 0xff000084, 0xff000084, 0xff000084, 0xff000084, 0xff000084, 0xff000084,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xff000084,
+ 0xff000084, 0xff000084, 0xff848284, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xff000084, 0xff000084,
+ 0xff000084, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6;
+
+# images/searchfind
+my $image_8_data = pack 'L*',
+
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xffb5b5b5,
+ 0xff949494, 0xff7b7b7b, 0xff6b7373, 0xff6b7373, 0xff7b7b7b, 0xff9c9c9c,
+ 0xffbdbdbd, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xffadadad, 0xff737b7b, 0xff849c94, 0xffadcec6,
+ 0xffaddece, 0xffaddece, 0xff94bdad, 0xff6b7b7b, 0xff7b7b7b, 0xffb5b5b5,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xffadadad,
+ 0xff5a5a5a, 0xff94a59c, 0xffceffef, 0xffceffef, 0xffc6f7e7, 0xffbdefde,
+ 0xffb5efd6, 0xffa5e7c6, 0xff6b8c7b, 0xff737373, 0xffbdbdbd, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xffbdbdbd, 0xff737b73, 0xff9cbdb5, 0xffbdefde,
+ 0xffc6f7e7, 0xffc6def7, 0xffbdd6ff, 0xffbdc6f7, 0xffa5b5de, 0xff94ceb5,
+ 0xff94d6bd, 0xff738c84, 0xff8c8c8c, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xff9c9c9c, 0xff849c94, 0xffd6fff7, 0xffbdefde, 0xffcedeff, 0xffb5bdde,
+ 0xffa5cece, 0xffa5cece, 0xffadadef, 0xff9c94d6, 0xff8cc6ad, 0xff94c6ad,
+ 0xff636b6b, 0xffb5b5b5, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xff7b8484, 0xffadd6c6,
+ 0xffceffef, 0xffb5dede, 0xffadb5de, 0xff94ceb5, 0xff9ce7bd, 0xff8ccead,
+ 0xffa5b5de, 0xffa594de, 0xff84ada5, 0xff94ceb5, 0xff6b847b, 0xff9c9c9c,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xff737b7b, 0xffbde7d6, 0xffbdf7de, 0xff9ce7c6,
+ 0xff9ce7c6, 0xff9cdebd, 0xff94d6b5, 0xff9ccece, 0xffa5b5ef, 0xff8484b5,
+ 0xff7bbd9c, 0xff94c6b5, 0xff739484, 0xff848484, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xff737b7b, 0xffaddece, 0xffb5efd6, 0xff9cdebd, 0xff94debd, 0xff94d6b5,
+ 0xff9cbdd6, 0xffa5b5ef, 0xff8c94b5, 0xff7bad94, 0xff7bbda5, 0xff8cb5a5,
+ 0xff73948c, 0xff848484, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xff737b73, 0xffadd6c6,
+ 0xffade7ce, 0xff94d6b5, 0xff94d6b5, 0xff8cceb5, 0xffa5b5de, 0xff8c8cbd,
+ 0xff7bbd9c, 0xff7bc69c, 0xff7bb59c, 0xff84bda5, 0xff6b847b, 0xff8c8c8c,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xff8c8c8c, 0xff8cb5a5, 0xffa5dec6, 0xff8cceb5,
+ 0xff8cc6ad, 0xff84cead, 0xff8cadbd, 0xff84a5ad, 0xff73bd9c, 0xff73b594,
+ 0xff73b594, 0xff7bad9c, 0xff5a736b, 0xffadadad, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xffadadad, 0xff737b7b, 0xff9ccebd, 0xff84c6a5, 0xff84c6a5, 0xff7bbda5,
+ 0xff94a5ce, 0xff8484b5, 0xff63ad8c, 0xff6bad94, 0xff6bad94, 0xff6b9484,
+ 0xff737373, 0xffbdbdbd, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xff8c8c8c,
+ 0xff6b8c7b, 0xff7bc6a5, 0xff7bbda5, 0xff7bbd9c, 0xff73a59c, 0xff73948c,
+ 0xff73b594, 0xff5a9c84, 0xff5a9c84, 0xff636363, 0xff9c9c9c, 0xffced6ce,
+ 0xffadadad, 0xffbdbdbd, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xffbdbdbd, 0xff7b7b7b, 0xff6b7b73,
+ 0xff84b59c, 0xff84b5a5, 0xff84bda5, 0xff7bb59c, 0xff7bad94, 0xff739484,
+ 0xff5a5a5a, 0xff9c9c9c, 0xc6c6c6, 0xffadadad, 0xff636363, 0xff5a5a5a,
+ 0xffadadad, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xffbdbdbd, 0xff8c8c8c, 0xff636b6b, 0xff6b7b73,
+ 0xff6b847b, 0xff6b847b, 0xff63736b, 0xff6b6b6b, 0xffadadad, 0xc6c6c6,
+ 0xc6c6c6, 0xffc6c6c6, 0xff7b7b7b, 0xff292929, 0xff393939, 0xff8c8c8c,
+ 0xffbdbdbd, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xffb5b5b5, 0xff9c9c9c, 0xff8c8c8c, 0xff949494,
+ 0xffa5a5a5, 0xffc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xffa5a5a5, 0xff424242, 0xff292929, 0xff6b6b6b, 0xffadadad,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xffbdbdbd, 0xff737373, 0xff212121, 0xff393939, 0xff949494, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xff9c9c9c, 0xff393939, 0xff212121, 0xff6b6b6b, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xffb5b5b5,
+ 0xff636363, 0xff5a5a5a, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6;
+
+# images/textbold
+my $image_9_data = pack 'L*',
+
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xff000000, 0xff000000, 0xff000000,
+ 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xff000000, 0xff000000, 0xff000000, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xff000000, 0xff000000, 0xff000000, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xff000000, 0xff000000, 0xff000000, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xff000000, 0xff000000, 0xff000000, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xff000000, 0xff000000,
+ 0xff000000, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xff000000,
+ 0xff000000, 0xff000000, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xff000000, 0xff000000, 0xff000000, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xff000000, 0xff000000, 0xff000000,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xff000000, 0xff000000, 0xff000000, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xff000000, 0xff000000, 0xff000000, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xff000000, 0xff000000,
+ 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xff000000, 0xff000000, 0xff000000, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xff000000, 0xff000000, 0xff000000, 0xff000000,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xff000000, 0xff000000, 0xff000000, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xff000000, 0xff000000,
+ 0xff000000, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xff000000, 0xff000000, 0xff000000, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xff000000, 0xff000000, 0xff000000, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xff000000, 0xff000000,
+ 0xff000000, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xff000000, 0xff000000, 0xff000000, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xff000000, 0xff000000, 0xff000000, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xff000000, 0xff000000,
+ 0xff000000, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xff000000,
+ 0xff000000, 0xff000000, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000,
+ 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6;
+
+# images/textcenter
+my $image_10_data = pack 'L*',
+
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xff000000,
+ 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000,
+ 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000,
+ 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xff000000, 0xff000000, 0xff000000,
+ 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000,
+ 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xff000000, 0xff000000, 0xff000000,
+ 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000,
+ 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000,
+ 0xff000000, 0xff000000, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000,
+ 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000,
+ 0xff000000, 0xff000000, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000,
+ 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000,
+ 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xff000000,
+ 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000,
+ 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xff000000,
+ 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000,
+ 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000,
+ 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xff000000, 0xff000000, 0xff000000,
+ 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000,
+ 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xff000000, 0xff000000, 0xff000000,
+ 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000,
+ 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000,
+ 0xff000000, 0xff000000, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6;
+
+# images/textitalic
+my $image_11_data = pack 'L*',
+
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xff000000, 0xff000000, 0xff000000, 0xff000000,
+ 0xff000000, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xff000000, 0xff000000, 0xff000000, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xff000000,
+ 0xff000000, 0xff000000, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xff000000, 0xff000000, 0xff000000,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xff000000, 0xff000000, 0xff000000, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xff000000, 0xff000000,
+ 0xff000000, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xff000000, 0xff000000, 0xff000000, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xff000000, 0xff000000, 0xff000000, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xff000000, 0xff000000,
+ 0xff000000, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xff000000, 0xff000000, 0xff000000, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xff000000,
+ 0xff000000, 0xff000000, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xff000000, 0xff000000, 0xff000000,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xff000000, 0xff000000, 0xff000000, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xff000000, 0xff000000,
+ 0xff000000, 0xff000000, 0xff000000, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6;
+
+# images/textleft
+my $image_12_data = pack 'L*',
+
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xff000000, 0xff000000,
+ 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000,
+ 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000,
+ 0xff000000, 0xff000000, 0xff000000, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000,
+ 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000,
+ 0xff000000, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xff000000, 0xff000000, 0xff000000, 0xff000000,
+ 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000,
+ 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000,
+ 0xff000000, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xff000000, 0xff000000,
+ 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000,
+ 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000,
+ 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000,
+ 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xff000000, 0xff000000, 0xff000000, 0xff000000,
+ 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000,
+ 0xff000000, 0xff000000, 0xff000000, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xff000000, 0xff000000,
+ 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000,
+ 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000,
+ 0xff000000, 0xff000000, 0xff000000, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000,
+ 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000,
+ 0xff000000, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xff000000, 0xff000000, 0xff000000, 0xff000000,
+ 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000,
+ 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000,
+ 0xff000000, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6;
+
+# images/textright
+my $image_13_data = pack 'L*',
+
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xff000000,
+ 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000,
+ 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000,
+ 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xff000000,
+ 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000,
+ 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xff000000, 0xff000000, 0xff000000,
+ 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000,
+ 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000,
+ 0xff000000, 0xff000000, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xff000000, 0xff000000, 0xff000000,
+ 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000,
+ 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000,
+ 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000,
+ 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000,
+ 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000,
+ 0xff000000, 0xff000000, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xff000000,
+ 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000,
+ 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000,
+ 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xff000000,
+ 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000,
+ 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xff000000, 0xff000000, 0xff000000,
+ 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000,
+ 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000,
+ 0xff000000, 0xff000000, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6;
+
+# images/textunder
+my $image_14_data = pack 'L*',
+
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xff000000, 0xff000000, 0xff000000,
+ 0xff000000, 0xff000000, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xff000000,
+ 0xff000000, 0xff000000, 0xff000000, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xff000000, 0xff000000, 0xff000000, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xff000000,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xff000000, 0xff000000, 0xff000000, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xff000000, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xff000000, 0xff000000,
+ 0xff000000, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xff000000, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xff000000, 0xff000000, 0xff000000, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xff000000,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xff000000, 0xff000000, 0xff000000, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xff000000, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xff000000, 0xff000000,
+ 0xff000000, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xff000000, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xff000000, 0xff000000, 0xff000000, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xff000000,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xff000000, 0xff000000, 0xff000000, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xff000000, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xff000000, 0xff000000,
+ 0xff000000, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xff000000, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xff000000, 0xff000000, 0xff000000, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xff000000, 0xff000000,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xff000000, 0xff000000, 0xff000000, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xff000000, 0xff000000, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xff000000,
+ 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000,
+ 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xff000000, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6;
+
+# images/undo
+my $image_15_data = pack 'L*',
+
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xff000084, 0xff000084, 0xff000084, 0xff000084, 0xff000084,
+ 0xff000084, 0xff848284, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xff000084, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xff000084, 0xff000084, 0xff000084,
+ 0xff000084, 0xff000084, 0xff000084, 0xff000084, 0xff000084, 0xff000084,
+ 0xff000084, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xff000084, 0xff000084, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xff000084,
+ 0xff000084, 0xff000084, 0xff000084, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xff000084, 0xff000084, 0xff848284,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xff000084, 0xff000084,
+ 0xff000084, 0xc6c6c6, 0xff000084, 0xff000084, 0xff000084, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xff000084, 0xff000084, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xff000084, 0xff000084, 0xff000084, 0xff000084,
+ 0xff000084, 0xff000084, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xff000084, 0xff000084, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xff000084, 0xff000084, 0xff000084, 0xff000084, 0xff000084, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xff000084, 0xff000084,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xff000084, 0xff000084,
+ 0xff000084, 0xff000084, 0xff000084, 0xff000084, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xff000084, 0xff000084, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xff000084, 0xff000084, 0xff000084, 0xff000084,
+ 0xff000084, 0xff000084, 0xff000084, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xff000084, 0xff000084, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xff000084, 0xff000084, 0xff000084, 0xff000084, 0xff000084, 0xff000084,
+ 0xff000084, 0xff000084, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xff000084, 0xff000084, 0xff848284,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xff848284,
+ 0xff000084, 0xff000084, 0xff000084, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xff000084, 0xff000084, 0xff000084,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6,
+ 0xc6c6c6, 0xc6c6c6, 0xc6c6c6, 0xc6c6c6;
+
+my %embed_images = (
+ "editcopy" => [$image_0_data, 22, 22, 32, undef, 1],
+ "editcut" => [$image_1_data, 22, 22, 32, undef, 1],
+ "editpaste" => [$image_2_data, 22, 22, 32, undef, 1],
+ "filenew" => [$image_3_data, 22, 22, 32, undef, 1],
+ "fileopen" => [$image_4_data, 22, 22, 32, undef, 1],
+ "filesave" => [$image_5_data, 22, 22, 32, undef, 1],
+ "print" => [$image_6_data, 22, 22, 32, undef, 1],
+ "redo" => [$image_7_data, 22, 22, 32, undef, 1],
+ "searchfind" => [$image_8_data, 22, 22, 32, undef, 1],
+ "textbold" => [$image_9_data, 22, 22, 32, undef, 1],
+ "textcenter" => [$image_10_data, 22, 22, 32, undef, 1],
+ "textitalic" => [$image_11_data, 22, 22, 32, undef, 1],
+ "textleft" => [$image_12_data, 22, 22, 32, undef, 1],
+ "textright" => [$image_13_data, 22, 22, 32, undef, 1],
+ "textunder" => [$image_14_data, 22, 22, 32, undef, 1],
+ "undo" => [$image_15_data, 22, 22, 32, undef, 1],
+);
+
+my %images = ();
+
+
+sub uic_findImage
+{
+ my $name = shift;
+ return $images{$name} if exists $images{$name};
+ return TQt::Image() unless exists $embed_images{$name};
+
+ my $img = TQt::Image(@{$embed_images{$name}}[0..4], &TQt::Image::BigEndian);
+ ${$embed_images{$name}}[5] && $img->setAlphaBuffer(1);
+ $images{$name} = $img;
+ return $img;
+}
+
+sub data
+{
+ my $abs_name = shift;
+ my $img = uic_findImage($abs_name);
+ if($img->isNull())
+ {
+ TQt::MimeSourceFactory::removeFactory(this);
+ my $s = TQt::MimeSourceFactory::defaultFactory()->data($abs_name);
+ TQt::MimeSourceFactory::addFactory(this);
+ return $s;
+ }
+ TQt::MimeSourceFactory::defaultFactory()->setImage($abs_name, $img);
+ return TQt::MimeSourceFactory::defaultFactory()->data($abs_name);
+}
+
+
+package staticImages;
+use TQt;
+use DesignerMimeSourceFactory_richedit;
+our %factories;
+
+my $factory = DesignerMimeSourceFactory_richedit;
+TQt::MimeSourceFactory::defaultFactory()->addFactory($factory);
+$factories{'DesignerMimeSourceFactory_richedit'} = $factory;
+
+END
+{
+ for( values %factories )
+ {
+ TQt::MimeSourceFactory::defaultFactory()->removeFactory($_);
+ }
+ %factories = ();
+}
+1;
+
diff --git a/PerlTQt/examples/richedit/richedit.pl b/PerlTQt/examples/richedit/richedit.pl
new file mode 100644
index 0000000..d2dee84
--- /dev/null
+++ b/PerlTQt/examples/richedit/richedit.pl
@@ -0,0 +1,376 @@
+# Form implementation generated from reading ui file 'richedit.ui'
+#
+# Created: jeu jun 13 20:02:56 2002
+# by: The PerlTQt User Interface Compiler (puic)
+#
+
+
+use strict;
+
+# the below is a manual addition...
+# maybe puic should do that.
+# Allows to run a modular application from anywhere
+use FindBin;
+use lib "$FindBin::Bin";
+
+package EditorForm;
+use TQt;
+use TQt::isa qw(TQt::MainWindow);
+use TQt::slots
+ init => [],
+ fileExit => [],
+ fileNew => [],
+ fileOpen => [],
+ fileSave => [],
+ fileSaveAs => [],
+ helpAbout => [],
+ helpContents => [],
+ helpIndex => [],
+ changeAlignment => ['TQAction*'],
+ saveAndContinue => ['const TQString&'];
+use TQt::attributes qw(
+ textEdit
+ fontComboBox
+ SpinBox2
+ menubar
+ fileMenu
+ editMenu
+ PopupMenu_2
+ helpMenu
+ toolBar
+ Toolbar
+ fileNewAction
+ fileOpenAction
+ fileSaveAction
+ fileSaveAsAction
+ fileExitAction
+ editUndoAction
+ editRedoAction
+ editCutAction
+ editCopyAction
+ editPasteAction
+ helpContentsAction
+ helpIndexAction
+ helpAboutAction
+ boldAction
+ italicAction
+ underlineAction
+ alignActionGroup
+ leftAlignAction
+ rightAlignAction
+ centerAlignAction
+);
+
+
+sub uic_load_pixmap_EditorForm
+{
+ my $pix = TQt::Pixmap();
+ my $m = TQt::MimeSourceFactory::defaultFactory()->data(shift);
+
+ if($m)
+ {
+ TQt::ImageDrag::decode($m, $pix);
+ }
+
+ return $pix;
+}
+
+
+sub NEW
+{
+ shift->SUPER::NEW(@_[0..2]);
+ this->statusBar();
+
+ if( this->name() eq "unnamed" )
+ {
+ this->setName("EditorForm");
+ }
+ this->resize(646,436);
+ this->setCaption(this->trUtf8("Rich Edit"));
+
+ this->setCentralWidget(TQt::Widget(this, "qt_central_widget"));
+ my $EditorFormLayout = TQt::HBoxLayout(this->centralWidget(), 11, 6, '$EditorFormLayout');
+
+ textEdit = TQt::TextEdit(this->centralWidget(), "textEdit");
+ textEdit->setSizePolicy(TQt::SizePolicy(7, 7, 0, 0, textEdit->sizePolicy()->hasHeightForWidth()));
+ textEdit->setTextFormat(&TQt::TextEdit::RichText);
+ $EditorFormLayout->addWidget(textEdit);
+
+ fileNewAction= TQt::Action(this,"fileNewAction");
+ fileNewAction->setIconSet(TQt::IconSet(uic_load_pixmap_EditorForm("filenew")));
+ fileNewAction->setText(this->trUtf8("New"));
+ fileNewAction->setMenuText(this->trUtf8("&New"));
+ fileNewAction->setAccel(TQt::KeySequence(int(4194382)));
+ fileOpenAction= TQt::Action(this,"fileOpenAction");
+ fileOpenAction->setIconSet(TQt::IconSet(uic_load_pixmap_EditorForm("fileopen")));
+ fileOpenAction->setText(this->trUtf8("Open"));
+ fileOpenAction->setMenuText(this->trUtf8("&Open..."));
+ fileOpenAction->setAccel(TQt::KeySequence(int(4194383)));
+ fileSaveAction= TQt::Action(this,"fileSaveAction");
+ fileSaveAction->setIconSet(TQt::IconSet(uic_load_pixmap_EditorForm("filesave")));
+ fileSaveAction->setText(this->trUtf8("Save"));
+ fileSaveAction->setMenuText(this->trUtf8("&Save"));
+ fileSaveAction->setAccel(TQt::KeySequence(int(4194387)));
+ fileSaveAsAction= TQt::Action(this,"fileSaveAsAction");
+ fileSaveAsAction->setText(this->trUtf8("Save As"));
+ fileSaveAsAction->setMenuText(this->trUtf8("Save &As..."));
+ fileSaveAsAction->setAccel(TQt::KeySequence(int(0)));
+ fileExitAction= TQt::Action(this,"fileExitAction");
+ fileExitAction->setText(this->trUtf8("Exit"));
+ fileExitAction->setMenuText(this->trUtf8("E&xit"));
+ fileExitAction->setAccel(TQt::KeySequence(int(0)));
+ editUndoAction= TQt::Action(this,"editUndoAction");
+ editUndoAction->setIconSet(TQt::IconSet(uic_load_pixmap_EditorForm("undo")));
+ editUndoAction->setText(this->trUtf8("Undo"));
+ editUndoAction->setMenuText(this->trUtf8("&Undo"));
+ editUndoAction->setAccel(TQt::KeySequence(int(4194394)));
+ editRedoAction= TQt::Action(this,"editRedoAction");
+ editRedoAction->setIconSet(TQt::IconSet(uic_load_pixmap_EditorForm("redo")));
+ editRedoAction->setText(this->trUtf8("Redo"));
+ editRedoAction->setMenuText(this->trUtf8("&Redo"));
+ editRedoAction->setAccel(TQt::KeySequence(int(4194393)));
+ editCutAction= TQt::Action(this,"editCutAction");
+ editCutAction->setIconSet(TQt::IconSet(uic_load_pixmap_EditorForm("editcut")));
+ editCutAction->setText(this->trUtf8("Cut"));
+ editCutAction->setMenuText(this->trUtf8("&Cut"));
+ editCutAction->setAccel(TQt::KeySequence(int(4194392)));
+ editCopyAction= TQt::Action(this,"editCopyAction");
+ editCopyAction->setIconSet(TQt::IconSet(uic_load_pixmap_EditorForm("editcopy")));
+ editCopyAction->setText(this->trUtf8("Copy"));
+ editCopyAction->setMenuText(this->trUtf8("C&opy"));
+ editCopyAction->setAccel(TQt::KeySequence(int(4194371)));
+ editPasteAction= TQt::Action(this,"editPasteAction");
+ editPasteAction->setIconSet(TQt::IconSet(uic_load_pixmap_EditorForm("editpaste")));
+ editPasteAction->setText(this->trUtf8("Paste"));
+ editPasteAction->setMenuText(this->trUtf8("&Paste"));
+ editPasteAction->setAccel(TQt::KeySequence(int(4194390)));
+ helpContentsAction= TQt::Action(this,"helpContentsAction");
+ helpContentsAction->setText(this->trUtf8("Contents"));
+ helpContentsAction->setMenuText(this->trUtf8("&Contents..."));
+ helpContentsAction->setAccel(TQt::KeySequence(int(0)));
+ helpIndexAction= TQt::Action(this,"helpIndexAction");
+ helpIndexAction->setText(this->trUtf8("Index"));
+ helpIndexAction->setMenuText(this->trUtf8("&Index..."));
+ helpIndexAction->setAccel(TQt::KeySequence(int(0)));
+ helpAboutAction= TQt::Action(this,"helpAboutAction");
+ helpAboutAction->setText(this->trUtf8("About"));
+ helpAboutAction->setMenuText(this->trUtf8("&About..."));
+ helpAboutAction->setAccel(TQt::KeySequence(int(0)));
+ boldAction= TQt::Action(this,"boldAction");
+ boldAction->setToggleAction(1);
+ boldAction->setIconSet(TQt::IconSet(uic_load_pixmap_EditorForm("textbold")));
+ boldAction->setText(this->trUtf8("bold"));
+ boldAction->setMenuText(this->trUtf8("&Bold"));
+ boldAction->setAccel(TQt::KeySequence(int(272629826)));
+ italicAction= TQt::Action(this,"italicAction");
+ italicAction->setToggleAction(1);
+ italicAction->setIconSet(TQt::IconSet(uic_load_pixmap_EditorForm("textitalic")));
+ italicAction->setText(this->trUtf8("italic"));
+ italicAction->setMenuText(this->trUtf8("&Italic"));
+ italicAction->setAccel(TQt::KeySequence(int(272629833)));
+ underlineAction= TQt::Action(this,"underlineAction");
+ underlineAction->setToggleAction(1);
+ underlineAction->setIconSet(TQt::IconSet(uic_load_pixmap_EditorForm("textunder")));
+ underlineAction->setText(this->trUtf8("underline"));
+ underlineAction->setMenuText(this->trUtf8("&Underline"));
+ underlineAction->setAccel(TQt::KeySequence(int(272629845)));
+ alignActionGroup= TQt::ActionGroup(this,"alignActionGroup");
+ alignActionGroup->setText(this->trUtf8("align"));
+ alignActionGroup->setUsesDropDown(0);
+ leftAlignAction= TQt::Action(alignActionGroup,"leftAlignAction");
+ leftAlignAction->setToggleAction(1);
+ leftAlignAction->setIconSet(TQt::IconSet(uic_load_pixmap_EditorForm("textleft")));
+ leftAlignAction->setText(this->trUtf8("left"));
+ leftAlignAction->setMenuText(this->trUtf8("&Left"));
+ leftAlignAction->setAccel(TQt::KeySequence(int(272629836)));
+ rightAlignAction= TQt::Action(alignActionGroup,"rightAlignAction");
+ rightAlignAction->setToggleAction(1);
+ rightAlignAction->setIconSet(TQt::IconSet(uic_load_pixmap_EditorForm("textright")));
+ rightAlignAction->setText(this->trUtf8("right"));
+ rightAlignAction->setMenuText(this->trUtf8("&Right"));
+ rightAlignAction->setAccel(TQt::KeySequence(int(272629842)));
+ centerAlignAction= TQt::Action(alignActionGroup,"centerAlignAction");
+ centerAlignAction->setToggleAction(1);
+ centerAlignAction->setIconSet(TQt::IconSet(uic_load_pixmap_EditorForm("textcenter")));
+ centerAlignAction->setText(this->trUtf8("center"));
+ centerAlignAction->setMenuText(this->trUtf8("&Center"));
+
+
+ toolBar = TQt::ToolBar("", this, &DockTop);
+
+ toolBar->setLabel(this->trUtf8("Tools"));
+ fileNewAction->addTo(toolBar);
+ fileOpenAction->addTo(toolBar);
+ fileSaveAction->addTo(toolBar);
+ toolBar->addSeparator;
+ editUndoAction->addTo(toolBar);
+ editRedoAction->addTo(toolBar);
+ editCutAction->addTo(toolBar);
+ editCopyAction->addTo(toolBar);
+ editPasteAction->addTo(toolBar);
+ Toolbar = TQt::ToolBar("", this, &DockTop);
+
+ Toolbar->setLabel(this->trUtf8("Toolbar"));
+ leftAlignAction->addTo(Toolbar);
+ centerAlignAction->addTo(Toolbar);
+ rightAlignAction->addTo(Toolbar);
+ Toolbar->addSeparator;
+ boldAction->addTo(Toolbar);
+ italicAction->addTo(Toolbar);
+ underlineAction->addTo(Toolbar);
+ Toolbar->addSeparator;
+
+ fontComboBox = TQt::ComboBox(0, Toolbar, "fontComboBox");
+
+ SpinBox2 = TQt::SpinBox(Toolbar, "SpinBox2");
+ SpinBox2->setMinValue(int(6));
+ SpinBox2->setValue(int(10));
+
+
+ menubar= TQt::MenuBar( this, "menubar");
+
+ fileMenu= TQt::PopupMenu(this);
+ fileNewAction->addTo(fileMenu);
+ fileOpenAction->addTo(fileMenu);
+ fileSaveAction->addTo(fileMenu);
+ fileSaveAsAction->addTo(fileMenu);
+ fileMenu->insertSeparator;
+ fileExitAction->addTo(fileMenu);
+ menubar->insertItem(this->trUtf8("&File"), fileMenu);
+
+ editMenu= TQt::PopupMenu(this);
+ editUndoAction->addTo(editMenu);
+ editRedoAction->addTo(editMenu);
+ editMenu->insertSeparator;
+ editCutAction->addTo(editMenu);
+ editCopyAction->addTo(editMenu);
+ editPasteAction->addTo(editMenu);
+ menubar->insertItem(this->trUtf8("&Edit"), editMenu);
+
+ PopupMenu_2= TQt::PopupMenu(this);
+ leftAlignAction->addTo(PopupMenu_2);
+ rightAlignAction->addTo(PopupMenu_2);
+ centerAlignAction->addTo(PopupMenu_2);
+ PopupMenu_2->insertSeparator;
+ boldAction->addTo(PopupMenu_2);
+ italicAction->addTo(PopupMenu_2);
+ underlineAction->addTo(PopupMenu_2);
+ menubar->insertItem(this->trUtf8("F&ormat"), PopupMenu_2);
+
+ helpMenu= TQt::PopupMenu(this);
+ helpContentsAction->addTo(helpMenu);
+ helpIndexAction->addTo(helpMenu);
+ helpMenu->insertSeparator;
+ helpAboutAction->addTo(helpMenu);
+ menubar->insertItem(this->trUtf8("&Help"), helpMenu);
+
+
+
+ TQt::Object::connect(fileNewAction, TQT_SIGNAL "activated()", this, TQT_SLOT "fileNew()");
+ TQt::Object::connect(fileOpenAction, TQT_SIGNAL "activated()", this, TQT_SLOT "fileOpen()");
+ TQt::Object::connect(fileSaveAction, TQT_SIGNAL "activated()", this, TQT_SLOT "fileSave()");
+ TQt::Object::connect(fileSaveAsAction, TQT_SIGNAL "activated()", this, TQT_SLOT "fileSaveAs()");
+ TQt::Object::connect(fileExitAction, TQT_SIGNAL "activated()", this, TQT_SLOT "fileExit()");
+ TQt::Object::connect(helpIndexAction, TQT_SIGNAL "activated()", this, TQT_SLOT "helpIndex()");
+ TQt::Object::connect(helpContentsAction, TQT_SIGNAL "activated()", this, TQT_SLOT "helpContents()");
+ TQt::Object::connect(helpAboutAction, TQT_SIGNAL "activated()", this, TQT_SLOT "helpAbout()");
+ TQt::Object::connect(SpinBox2, TQT_SIGNAL "valueChanged(int)", textEdit, TQT_SLOT "setPointSize(int)");
+ TQt::Object::connect(editCutAction, TQT_SIGNAL "activated()", textEdit, TQT_SLOT "cut()");
+ TQt::Object::connect(editPasteAction, TQT_SIGNAL "activated()", textEdit, TQT_SLOT "paste()");
+ TQt::Object::connect(editCopyAction, TQT_SIGNAL "activated()", textEdit, TQT_SLOT "copy()");
+ TQt::Object::connect(editRedoAction, TQT_SIGNAL "activated()", textEdit, TQT_SLOT "redo()");
+ TQt::Object::connect(editUndoAction, TQT_SIGNAL "activated()", textEdit, TQT_SLOT "undo()");
+ TQt::Object::connect(alignActionGroup, TQT_SIGNAL "selected(TQAction*)", this, TQT_SLOT "changeAlignment(TQAction*)");
+ TQt::Object::connect(underlineAction, TQT_SIGNAL "toggled(bool)", textEdit, TQT_SLOT "setUnderline(bool)");
+ TQt::Object::connect(italicAction, TQT_SIGNAL "toggled(bool)", textEdit, TQT_SLOT "setItalic(bool)");
+ TQt::Object::connect(boldAction, TQT_SIGNAL "toggled(bool)", textEdit, TQT_SLOT "setBold(bool)");
+ TQt::Object::connect(fontComboBox, TQT_SIGNAL "activated(const TQString&)", textEdit, TQT_SLOT "setFamily(const TQString&)");
+ TQt::Object::connect(fontComboBox, TQT_SIGNAL "activated(const TQString&)", textEdit, TQT_SLOT "setFocus()");
+
+ init();
+}
+
+
+sub init
+{
+
+ textEdit->setFocus;
+ my $fonts = TQt::FontDatabase;
+ fontComboBox->insertStringList($fonts->families);
+ my $font = lc textEdit->family;
+ for(my $i = 0; $i < fontComboBox->count; $i++) {
+ if($font eq fontComboBox->text($i)) {
+ fontComboBox->setCurrentItem($i);
+ last;
+ }
+ }
+
+}
+
+sub fileExit
+{
+ print "EditorForm->fileExit(): Not implemented yet.\n";
+}
+
+sub fileNew
+{
+ print "EditorForm->fileNew(): Not implemented yet.\n";
+}
+
+sub fileOpen
+{
+ print "EditorForm->fileOpen(): Not implemented yet.\n";
+}
+
+sub fileSave
+{
+ print "EditorForm->fileSave(): Not implemented yet.\n";
+}
+
+sub fileSaveAs
+{
+ print "EditorForm->fileSaveAs(): Not implemented yet.\n";
+}
+
+sub helpAbout
+{
+ print "EditorForm->helpAbout(): Not implemented yet.\n";
+}
+
+sub helpContents
+{
+ print "EditorForm->helpContents(): Not implemented yet.\n";
+}
+
+sub helpIndex
+{
+ print "EditorForm->helpIndex(): Not implemented yet.\n";
+}
+
+sub changeAlignment
+{
+ print "EditorForm->changeAlignment(TQAction*): Not implemented yet.\n";
+}
+
+sub saveAndContinue
+{
+ print "EditorForm->saveAndContinue(const TQString&): Not implemented yet.\n";
+}
+
+1;
+
+
+package main;
+
+use TQt;
+use EditorForm;
+use imageCollection;
+
+my $a = TQt::Application(\@ARGV);
+TQt::Object::connect($a, TQT_SIGNAL("lastWindowClosed()"), $a, TQT_SLOT("quit()"));
+my $w = EditorForm;
+$a->setMainWidget($w);
+$w->show;
+exit $a->exec;
+
+