65 lines
2.0 KiB
C
65 lines
2.0 KiB
C
|
|
/**
|
||
|
|
* @file docs_prelude.h
|
||
|
|
* @brief The include set every `c wrap=`, `c run=` and `c screenshot=` block gets.
|
||
|
|
*
|
||
|
|
* The four preludes in this directory all begin with this file, so the list of
|
||
|
|
* headers a wrapped example can rely on lives in exactly one place. It is not
|
||
|
|
* reachable from a `c` block with no `wrap=`: an unwrapped block is a whole
|
||
|
|
* translation unit and has to show its own `#include` lines, which is usually
|
||
|
|
* what a chapter wants a reader to see.
|
||
|
|
*
|
||
|
|
* Every public header, deliberately. The `headers` suite already proves each one
|
||
|
|
* is self-contained, so there is no ordering to get right, and an example that
|
||
|
|
* calls one subsystem while illustrating another does not have to grow an
|
||
|
|
* include line that is noise in the chapter.
|
||
|
|
*
|
||
|
|
* `docs_frame()` is declared here rather than in tools/docs_screenshot.c so the
|
||
|
|
* host and the akglframe prelude cannot drift apart on the signature.
|
||
|
|
*/
|
||
|
|
|
||
|
|
#ifndef _AKGL_DOCS_PRELUDE_H_
|
||
|
|
#define _AKGL_DOCS_PRELUDE_H_
|
||
|
|
|
||
|
|
#include <stdbool.h>
|
||
|
|
#include <stdio.h>
|
||
|
|
#include <stdlib.h>
|
||
|
|
#include <string.h>
|
||
|
|
|
||
|
|
#include <SDL3/SDL.h>
|
||
|
|
#include <SDL3_image/SDL_image.h>
|
||
|
|
|
||
|
|
#include <akerror.h>
|
||
|
|
#include <akstdlib.h>
|
||
|
|
|
||
|
|
#include <akgl/actor.h>
|
||
|
|
#include <akgl/assets.h>
|
||
|
|
#include <akgl/audio.h>
|
||
|
|
#include <akgl/character.h>
|
||
|
|
#include <akgl/controller.h>
|
||
|
|
#include <akgl/draw.h>
|
||
|
|
#include <akgl/error.h>
|
||
|
|
#include <akgl/game.h>
|
||
|
|
#include <akgl/heap.h>
|
||
|
|
#include <akgl/iterator.h>
|
||
|
|
#include <akgl/json_helpers.h>
|
||
|
|
#include <akgl/physics.h>
|
||
|
|
#include <akgl/registry.h>
|
||
|
|
#include <akgl/renderer.h>
|
||
|
|
#include <akgl/sprite.h>
|
||
|
|
#include <akgl/staticstring.h>
|
||
|
|
#include <akgl/text.h>
|
||
|
|
#include <akgl/tilemap.h>
|
||
|
|
#include <akgl/types.h>
|
||
|
|
#include <akgl/util.h>
|
||
|
|
|
||
|
|
/**
|
||
|
|
* @brief One frame of drawing, supplied by a `c screenshot=NAME` block.
|
||
|
|
*
|
||
|
|
* tools/docs_screenshot.c brings libakgl up against an offscreen target, calls
|
||
|
|
* this, and writes what it drew to `docs/images/NAME.png`. The body is the
|
||
|
|
* chapter's own listing, wrapped by tests/docs_preludes/akglframe.pre.
|
||
|
|
*/
|
||
|
|
akerr_ErrorContext AKERR_NOIGNORE *docs_frame(void);
|
||
|
|
|
||
|
|
#endif // _AKGL_DOCS_PRELUDE_H_
|