<feed xmlns='http://www.w3.org/2005/Atom'>
<title>puzzles/LICENCE, branch rockbox</title>
<subtitle>My sgt-puzzles tree</subtitle>
<link rel='alternate' type='text/html' href='https://www.franklinwei.com/cgit/puzzles/'/>
<entry>
<title>Add printing support for GTK.</title>
<updated>2019-12-30T08:10:34+00:00</updated>
<author>
<name>Asher Gordon</name>
<email>AsDaGo@posteo.net</email>
</author>
<published>2019-12-24T03:37:27+00:00</published>
<link rel='alternate' type='text/html' href='https://www.franklinwei.com/cgit/puzzles/commit/?id=b443a84efe1a03fc0e06cf71b1a0632c5a3c99a3'/>
<id>b443a84efe1a03fc0e06cf71b1a0632c5a3c99a3</id>
<content type='text'>
Printing is only available in GTK versions &gt;= 2.10. We can only embed
the page setup dialog on GTK &gt;= 2.18, so on a GTK version less than
that, we must use a separate page setup dialog.

In GTK, printing is usually done one page at a time, so also modify
printing.c to allow printing of a single page at a time.

Create a separate drawing API for drawing to the screen and for
printing. Create a vtable for functions which need to be different
depending on whether they were called from the printing or drawing
API.

When a function is called from the printing API, it is passed a
separate instance of the frontend than if it were called from the
drawing API. In that instance of the frontend, an appropriate vtable
is available depending on whether it was called from the printing or
drawing API.

The low-level functions used for printing are enabled even if printing
is not enabled. This is in case we ever need to use them for something
other than printing with GTK. For example, using Cairo as a printing
backend when printing from the command line. Enabling the low-level
functions even when GTK printing is not available also allows them to
be compiled under as many build settings as possible, and thus lowers
the chance of undetected breakage.

Move the definition of ROOT2 from ps.c to puzzles.h so other files can
use it (gtk.c needs it for hatching).

Also add myself to the copyright list.

[Committer's note: by 'printing', this log message refers to the GTK
GUI printing system, which handles selecting a printer, printing to a
file, previewing and so on. The existing facility to generate
printable puzzles in Postscript form by running the GTK binaries in
command-line mode with the --print option is unaffected. -SGT]
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Printing is only available in GTK versions &gt;= 2.10. We can only embed
the page setup dialog on GTK &gt;= 2.18, so on a GTK version less than
that, we must use a separate page setup dialog.

In GTK, printing is usually done one page at a time, so also modify
printing.c to allow printing of a single page at a time.

Create a separate drawing API for drawing to the screen and for
printing. Create a vtable for functions which need to be different
depending on whether they were called from the printing or drawing
API.

When a function is called from the printing API, it is passed a
separate instance of the frontend than if it were called from the
drawing API. In that instance of the frontend, an appropriate vtable
is available depending on whether it was called from the printing or
drawing API.

The low-level functions used for printing are enabled even if printing
is not enabled. This is in case we ever need to use them for something
other than printing with GTK. For example, using Cairo as a printing
backend when printing from the command line. Enabling the low-level
functions even when GTK printing is not available also allows them to
be compiled under as many build settings as possible, and thus lowers
the chance of undetected breakage.

Move the definition of ROOT2 from ps.c to puzzles.h so other files can
use it (gtk.c needs it for hatching).

Also add myself to the copyright list.

[Committer's note: by 'printing', this log message refers to the GTK
GUI printing system, which handles selecting a printer, printing to a
file, previewing and so on. The existing facility to generate
printable puzzles in Postscript form by running the GTK binaries in
command-line mode with the --print option is unaffected. -SGT]
</pre>
</div>
</content>
</entry>
<entry>
<title>Standardise character encoding of source tree on UTF-8.</title>
<updated>2017-11-18T15:27:37+00:00</updated>
<author>
<name>Simon Tatham</name>
<email>anakin@pobox.com</email>
</author>
<published>2017-11-18T15:22:49+00:00</published>
<link rel='alternate' type='text/html' href='https://www.franklinwei.com/cgit/puzzles/commit/?id=5c6fcf10a363c73b00f0daa752ccf9d133a35793'/>
<id>5c6fcf10a363c73b00f0daa752ccf9d133a35793</id>
<content type='text'>
Editing LICENCE just now, I happened to notice that the accented
letter in Jonas Kölker's name was encoded in ISO 8859-1, as is the
occurrence of the same name in filling.c - but _not_ the one in
guess.c, which was in UTF-8 already. That seems needlessly confusing,
so let's sort it out. Now every text file in this git repository is
suitable for interpreting as UTF-8.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Editing LICENCE just now, I happened to notice that the accented
letter in Jonas Kölker's name was encoded in ISO 8859-1, as is the
occurrence of the same name in filling.c - but _not_ the one in
guess.c, which was in UTF-8 already. That seems needlessly confusing,
so let's sort it out. Now every text file in this git repository is
suitable for interpreting as UTF-8.
</pre>
</div>
</content>
</entry>
<entry>
<title>New grid type: the trihexagonal tiling, or 'kagome lattice'.</title>
<updated>2017-11-18T15:26:13+00:00</updated>
<author>
<name>Simon Tatham</name>
<email>anakin@pobox.com</email>
</author>
<published>2017-11-18T15:16:40+00:00</published>
<link rel='alternate' type='text/html' href='https://www.franklinwei.com/cgit/puzzles/commit/?id=8af0c29615fdfe30035f2d4c3a7d2ccf06d6efa9'/>
<id>8af0c29615fdfe30035f2d4c3a7d2ccf06d6efa9</id>
<content type='text'>
Regular hexagons and equilateral triangles in strict alternation, with
two of each interleaved around each vertex.
https://en.wikipedia.org/wiki/Trihexagonal_tiling

Thanks to Michael Quevillon for the patch.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Regular hexagons and equilateral triangles in strict alternation, with
two of each interleaved around each vertex.
https://en.wikipedia.org/wiki/Trihexagonal_tiling

Thanks to Michael Quevillon for the patch.
</pre>
</div>
</content>
</entry>
<entry>
<title>Continue the tradition of only remembering to update the copyright year</title>
<updated>2014-01-16T01:03:58+00:00</updated>
<author>
<name>Jacob Nevins</name>
<email>jacobn@chiark.greenend.org.uk</email>
</author>
<published>2014-01-16T01:03:58+00:00</published>
<link rel='alternate' type='text/html' href='https://www.franklinwei.com/cgit/puzzles/commit/?id=580f9059e3e9f28ca1281867d321578a5f20ce9b'/>
<id>580f9059e3e9f28ca1281867d321578a5f20ce9b</id>
<content type='text'>
every other year.

[originally from svn r10116]
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
every other year.

[originally from svn r10116]
</pre>
</div>
</content>
</entry>
<entry>
<title>Patch from Rogier Goossens to speed up the Pattern solver.</title>
<updated>2013-04-12T16:28:55+00:00</updated>
<author>
<name>Simon Tatham</name>
<email>anakin@pobox.com</email>
</author>
<published>2013-04-12T16:28:55+00:00</published>
<link rel='alternate' type='text/html' href='https://www.franklinwei.com/cgit/puzzles/commit/?id=383c15794a517a4e6dc0b7364edac1f7056cee82'/>
<id>383c15794a517a4e6dc0b7364edac1f7056cee82</id>
<content type='text'>
do_recurse() now prunes early whenever it encounters a branch of the
search tree inconsistent with existing grid data (rather than the
previous naive approach of proceeding to enumerate all possibilities
anyway and then ruling them out one by one); do_recurse also tries to
split the row up into independent sections where possible; finally the
main solver loop (all three copies of which have now been factored out
into a new solve_puzzle function), instead of simply looping round and
round over all the rows and columns, heuristically looks at the ones
most changed since the last time deduction was attempted on them, on
the basis that that will probably yield the most information the
fastest.

[originally from svn r9828]
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
do_recurse() now prunes early whenever it encounters a branch of the
search tree inconsistent with existing grid data (rather than the
previous naive approach of proceeding to enumerate all possibilities
anyway and then ruling them out one by one); do_recurse also tries to
split the row up into independent sections where possible; finally the
main solver loop (all three copies of which have now been factored out
into a new solve_puzzle function), instead of simply looping round and
round over all the rows and columns, heuristically looks at the ones
most changed since the last time deduction was attempted on them, on
the basis that that will probably yield the most information the
fastest.

[originally from svn r9828]
</pre>
</div>
</content>
</entry>
<entry>
<title>New puzzle! 'Unruly', contributed by Lennard Sprong, is an</title>
<updated>2012-10-07T10:18:33+00:00</updated>
<author>
<name>Simon Tatham</name>
<email>anakin@pobox.com</email>
</author>
<published>2012-10-07T10:18:33+00:00</published>
<link rel='alternate' type='text/html' href='https://www.franklinwei.com/cgit/puzzles/commit/?id=fc9e6277bdd8b354b9febe56b0022441430c4465'/>
<id>fc9e6277bdd8b354b9febe56b0022441430c4465</id>
<content type='text'>
implementation of a puzzle usually called 'Tohu wa Vohu'.

[originally from svn r9680]
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
implementation of a puzzle usually called 'Tohu wa Vohu'.

[originally from svn r9680]
</pre>
</div>
</content>
</entry>
<entry>
<title>New puzzle! Contributed by Steffen Bauer, an implementation of</title>
<updated>2012-09-08T10:48:05+00:00</updated>
<author>
<name>Simon Tatham</name>
<email>anakin@pobox.com</email>
</author>
<published>2012-09-08T10:48:05+00:00</published>
<link rel='alternate' type='text/html' href='https://www.franklinwei.com/cgit/puzzles/commit/?id=67ddba7a15573643666f0f4128d43d0095b80da0'/>
<id>67ddba7a15573643666f0f4128d43d0095b80da0</id>
<content type='text'>
'Haunted Mirror Maze', a game involving placing ghosts, zombies and
vampires in a grid so that the right numbers of them are visible along
sight-lines reflected through multiple mirrors.

[originally from svn r9652]
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
'Haunted Mirror Maze', a game involving placing ghosts, zombies and
vampires in a grid so that the right numbers of them are visible along
sight-lines reflected through multiple mirrors.

[originally from svn r9652]
</pre>
</div>
</content>
</entry>
<entry>
<title>It's a new year.</title>
<updated>2012-01-22T15:44:04+00:00</updated>
<author>
<name>Jacob Nevins</name>
<email>jacobn@chiark.greenend.org.uk</email>
</author>
<published>2012-01-22T15:44:04+00:00</published>
<link rel='alternate' type='text/html' href='https://www.franklinwei.com/cgit/puzzles/commit/?id=660216a1c47263d785e8299eb10782f4ed1900e7'/>
<id>660216a1c47263d785e8299eb10782f4ed1900e7</id>
<content type='text'>
(It was a new year this time last year, too.)

[originally from svn r9382]
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
(It was a new year this time last year, too.)

[originally from svn r9382]
</pre>
</div>
</content>
</entry>
<entry>
<title>New year, new puzzle.</title>
<updated>2010-01-08T12:25:44+00:00</updated>
<author>
<name>Jacob Nevins</name>
<email>jacobn@chiark.greenend.org.uk</email>
</author>
<published>2010-01-08T12:25:44+00:00</published>
<link rel='alternate' type='text/html' href='https://www.franklinwei.com/cgit/puzzles/commit/?id=572a7469373a4e3073043001dc9e61289259316d'/>
<id>572a7469373a4e3073043001dc9e61289259316d</id>
<content type='text'>
[originally from svn r8823]
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
[originally from svn r8823]
</pre>
</div>
</content>
</entry>
<entry>
<title>It's been a new year for some time now.</title>
<updated>2009-03-19T23:32:30+00:00</updated>
<author>
<name>Jacob Nevins</name>
<email>jacobn@chiark.greenend.org.uk</email>
</author>
<published>2009-03-19T23:32:30+00:00</published>
<link rel='alternate' type='text/html' href='https://www.franklinwei.com/cgit/puzzles/commit/?id=c696ee2220a89d30b109f4d3d95ca36cfc44fff0'/>
<id>c696ee2220a89d30b109f4d3d95ca36cfc44fff0</id>
<content type='text'>
[originally from svn r8494]
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
[originally from svn r8494]
</pre>
</div>
</content>
</entry>
</feed>
