Namespace

Ipuz – 1.0

Library for loading, saving, and manipulating ipuz files

Version0.4.7
AuthorsJonathan Blandford
License(LGPL-2.1-or-later OR MIT)
Websitehttps://libipuz.org/
Sourcehttps://gitlab.gnome.org/jrb/libipuz

Build

C headerslibipuz/libipuz.h
pkg-config fileslibipuz-1.0

Dependencies

GLib—2.0 The base type system library
Browse documentation
GObject—2.0 The base type system library
Browse documentation

Classes

Acrostic

An acrostic is a quote-based word puzzle. It consists of two parts: a grid containing a quote, and a list of clues. Each cell in the grid has a label and corresponds to one of the cells in a clue. The puzzle can be solved by a combination of guessing words in the quote and solving the clues.

Arrowword

Barred

Crossword

Cryptic

Filippine

Grid

IpuzGrid is the base class for all grid-like puzzles. It is used to access the IpuzCell of a given puzzle kind, and is indexed by IpuzCellCoord.

Nonogram

A nonogram is a picture-based logic puzzle in which the player uses hints on the edge of the puzzle to reveal a picture.

NonogramColor

A color nonogram puzzle.

Puzzle

IpuzPuzzle is the base class for all puzzles that libipuz supports. It contains the common puzzle metadata that all puzzle kinds share.

PuzzleInfo

IpuzPuzzleInfo provides a snapshot of statistics and meta information of an IpuzPuzzle. It can only be created through calling ipuz_puzzle_get_puzzle_info(), and should not be independently created.

Interfaces

Clues

An interface to access and modify the clues of a crossword-like puzzle. It is intended to be used with IpuzClue clues only, and will not work with other clue types.

Structs

Cell

An opaque data type containing the information for an individual IpuzGrid cell.

CellCoord

A data type representing the coordinates of a single IpuzCell.

CellCoordArray

An opaque data structure that stores an ordered list of IpuzCellCoords.

CellStats

A data type that stores statistics about an IpuzPuzzle.

Charset

An opaque, immutable data structure that stores an ordered count of unicode characters.

CharsetBuilder

An opaque data structure used to dynamically build an IpuzCharset.

CharsetValue

A data structure that represents the value of an index of an IpuzCharset.

Clue

An opaque data type representing an individual clue in a puzzle. Clues are used by both IpuzCrossword and IpuzAcrostic puzzles.

ClueId

A data type that represents a relative identifier for an IpuzClue.

Enumeration

An opaque, immutable data type that stores the enumeration of a clue.

Guesses

An opaque data type representing the user’s guesses. It allows storing an arbitrary string per cell.

NonogramClue

A data type used by IpuzNonogram to indicate a segment of a clue array in a nonogram.

Style

An opaque data type that defines how an IpuzCell should be visually styled.

Enumerations

AcrosticSyncDirection

Indicates which direction to sync the puzzle when called by the IpuzAcrostic _fix() functions.

ArrowwordArrow

ArrowwordPlacement

CellType

Indicates the type and behavior of a given IpuzCell.

ClueDirection

Possible directions for a clue.

CluePlacement

Deliminator

A deliminator is a hint in a puzzle grid about the nature of a cell or word. This enum indicates the type of deliminator that should be used for a given location in the grid.

GridCheckType

Operation passed to ipuz_grid_check_cell().

PuzzleKind

Represents a type of puzzle.

StyleDivided

Specifies how a cell should be divided.

StyleShape

Specifies a background shape to be drawn in an IpuzCell. Shapes like the circle and square are expected to be hollow, as to contain the text in the cell.

Symmetry

SymmetryOffset

Verbosity

Bitfields

PuzzleFlags

Flags that specifying information about a puzzle.

StyleMark

Specifies where a given mark should be locate within the cell. These can be combined to indicate multiple locations.

StyleSides

Specifies which sides a border decoration (such as barred or dotted) is referring to. These can be combined to indicate multiple sides at once.

Error Domains

PuzzleError

Error codes when creating an IpuzPuzzle.

Callbacks

ArrowwordForeachBlocksFunc

The function to be passed to ipuz_arrowword_foreach_blocks().

CluesForeachClueFunc

The function to be passed to ipuz_clues_foreach_clue().

EnumerationForeachDelimFunc

The function to be passed to ipuz_enumeration_foreach_delim().

GridForeachCellFunc

The function to be passed to ipuz_grid_foreach_cell().

PuzzleForeachStyleFunc

The function to be passed to ipuz_puzzle_foreach_style().

StyleForeachMarkFunc

The function to be passed to ipuz_style_foreach_mark().

Functions

Function Macros

CLUE_DIRECTION_HEADING

Evaluates to TRUE if direction has a physical direction in the puzzle.

STYLE_SIDES_HAS_BOTTOM

Indicates if the BOTTOM flag in sides is set.

STYLE_SIDES_HAS_LEFT

Indicates if the LEFT flag in sides is set.

STYLE_SIDES_HAS_RIGHT

Indicates if the RIGHT flag in sides is set.

STYLE_SIDES_HAS_TOP

Indicates if the TOP flag in sides is set.