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

Structs

Cell

CellCoord

An IpuzCellCoord data type for representing the coordinates of a single cell.

CellCoordArray

An opaque structure that stores an ordered list of IpuzCellCoords.

CellStats

Stores statistics about a puzzle.

Charset

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

CharsetBuilder

An opaque structure for dynamically building an IpuzCharset.

CharsetValue

A struct that represents the value of an index of an IpuzCharset.

Clue

ClueId

Represents a unique id for a clue.

Enumeration

A structure that stores the enumeration of a clue. This structure is opaque and immutable: once created it will never change.

Guesses

A structure representing the user’s guesses. It allows storing an arbitrary string per cell.

NonogramClue

A structure used by IpuzNonogram to indicate a segment of a clue array in a nonogram. For monochromatic nonograms, the group field can be safely ignored.

Style

A struct that defines how a cell is 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

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

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.