Class
IpuzCrossword
Instance methods
ipuz_crossword_clue_guessed
Check to see if every field in the clue is guessed. This doesn’t account for the correctness of the clue.
ipuz_crossword_fix_symmetry
Enforce the board symmetry of the cells in coords
in the direction
of symmetry
. That is to say, go through each cell in coords
and
make sure that the appropriate cell at the point(s) of symmetry
have the same IpuzCellType
.
ipuz_crossword_get_clue_string_by_id
Returns a string containing the solution of the puzzle for a given clue. This string will have ‘?’ characters embedded within it if there are cells without solutions set yet.
ipuz_crossword_get_guess_string_by_id
Returns a string containing the guess in the puzzle for a given clue. This string will have ‘?’ characters embedded within it if there are cells not completely filled out.
ipuz_crossword_get_id_by_clue
Finds the IpuzClueId
of clue
in self
. If clue
doesn’t exist in
self
, then FALSE
is returned and clue_id
‘s direction is set to
IPUZ_CLUE_DIRECTION_NONE.
ipuz_crossword_get_symmetry
Calculates the symmetry of self
. Note, there can be multiple valid
calculations for a board. For example, we can’t say anything at all
about the symmetry for a blank, square board. This function returns
the first one that matches.
ipuz_crossword_set_size
Sets the dimensions of self
to be width
× height
. The board will
be resized in this instance, with cells being deleted if a
dimension shrinks, or cells added if a dimension grows. Newly
created cells will have a cell_type of #IPUZ_CELL_NORMAL.
Methods inherited from IpuzPuzzle (54)
Please see IpuzPuzzle for a full list of methods.
Properties
Properties inherited from IpuzPuzzle (24)
Ipuz.Puzzle:annotation
Non-displayed annotation.
Ipuz.Puzzle:author
Author of the puzzle.
Ipuz.Puzzle:block
Text value that represents a block.
Ipuz.Puzzle:charset
Characters that can be entered in the puzzle. Setting this
explicitly will override the charset defined by
IpuzPuzzle:locale
.
Ipuz.Puzzle:charset-str
Characters that can be entered in the puzzle, in string form.
Setting this explicitly will override the charset defined by
IpuzPuzzle:locale
.
Ipuz.Puzzle:copyright
Copyright information for the puzzle.
Ipuz.Puzzle:date
Date of puzzle or publication date.
Ipuz.Puzzle:difficulty
Difficulty of the puzzle. Advisory only, as there is no standard for difficulty.
Ipuz.Puzzle:editor
Editor of the puzzle.
Ipuz.Puzzle:empty
Text value that represents an empty cell.
Ipuz.Puzzle:explanation
Text to be displayed after a successful solve.
Ipuz.Puzzle:intro
Text displayed above the puzzle.
Ipuz.Puzzle:license
License of the puzzle.
Ipuz.Puzzle:locale
Locale of the puzzle.
Ipuz.Puzzle:notes
Notes about the puzzle.
Ipuz.Puzzle:origin
Program-specific information about the program that wrote the puzzle file.
Ipuz.Puzzle:publication
Bibliographic reference for a published puzzle.
Ipuz.Puzzle:publisher
Name and/or reference for a publisher.
Ipuz.Puzzle:puzzle-kind
The kind type of the puzzle.
Ipuz.Puzzle:styles
A GHash
table containing all the named styles for the puzzle. These can be added or removed by calling ipuz_puzzle_set_style()
.
Ipuz.Puzzle:title
Title of the puzzle.
Ipuz.Puzzle:uniqueid
Globally unique identifier for the puzzle.
Ipuz.Puzzle:url
Permanent URL for the puzzle.
Ipuz.Puzzle:version
Version of the ipuz spec used for the puzzle.
Signals
Signals inherited from GObject (1)
GObject::notify
The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.
Class structure
struct IpuzCrosswordClass {
IpuzPuzzleClass parent_class;
void (* fix_symmetry) (
IpuzCrossword* self,
IpuzSymmetry symmetry,
GArray* symmetry_coords
);
void (* fix_numbering) (
IpuzCrossword* self
);
void (* fix_clues) (
IpuzCrossword* self
);
void (* fix_enumerations) (
IpuzCrossword* self
);
void (* fix_styles) (
IpuzCrossword* self
);
void (* fix_all) (
IpuzCrossword* self,
const gchar* first_attribute_name,
va_list var_args
);
gboolean (* clue_continues_up) (
IpuzCrossword* self,
const IpuzCellCoord* coord
);
gboolean (* clue_continues_down) (
IpuzCrossword* self,
const IpuzCellCoord* coord
);
gboolean (* clue_continues_left) (
IpuzCrossword* self,
const IpuzCellCoord* coord
);
gboolean (* clue_continues_right) (
IpuzCrossword* self,
const IpuzCellCoord* coord
);
void (* mirror_cell) (
IpuzCrossword* self,
const IpuzCellCoord* src_coord,
const IpuzCellCoord* dest_coord,
IpuzSymmetry symmetry,
IpuzSymmetryOffset symmetry_offset
);
gboolean (* check_mirror) (
IpuzCrossword* self,
const IpuzCellCoord* src_coord,
const IpuzCellCoord* target_coord,
IpuzSymmetry symmetry,
IpuzSymmetryOffset symmetry_offset
);
}
No description available.
Class members
parent_class: IpuzPuzzleClass
No description available.
fix_symmetry: void (* fix_symmetry) ( IpuzCrossword* self, IpuzSymmetry symmetry, GArray* symmetry_coords )
No description available.
fix_numbering: void (* fix_numbering) ( IpuzCrossword* self )
No description available.
fix_clues: void (* fix_clues) ( IpuzCrossword* self )
No description available.
fix_enumerations: void (* fix_enumerations) ( IpuzCrossword* self )
No description available.
fix_styles: void (* fix_styles) ( IpuzCrossword* self )
No description available.
fix_all: void (* fix_all) ( IpuzCrossword* self, const gchar* first_attribute_name, va_list var_args )
No description available.
clue_continues_up: gboolean (* clue_continues_up) ( IpuzCrossword* self, const IpuzCellCoord* coord )
No description available.
clue_continues_down: gboolean (* clue_continues_down) ( IpuzCrossword* self, const IpuzCellCoord* coord )
No description available.
clue_continues_left: gboolean (* clue_continues_left) ( IpuzCrossword* self, const IpuzCellCoord* coord )
No description available.
clue_continues_right: gboolean (* clue_continues_right) ( IpuzCrossword* self, const IpuzCellCoord* coord )
No description available.
mirror_cell: void (* mirror_cell) ( IpuzCrossword* self, const IpuzCellCoord* src_coord, const IpuzCellCoord* dest_coord, IpuzSymmetry symmetry, IpuzSymmetryOffset symmetry_offset )
No description available.
check_mirror: gboolean (* check_mirror) ( IpuzCrossword* self, const IpuzCellCoord* src_coord, const IpuzCellCoord* target_coord, IpuzSymmetry symmetry, IpuzSymmetryOffset symmetry_offset )
No description available.
Virtual methods
Ipuz.CrosswordClass.fix_symmetry
Enforce the board symmetry of the cells in coords
in the direction
of symmetry
. That is to say, go through each cell in coords
and
make sure that the appropriate cell at the point(s) of symmetry
have the same IpuzCellType
.