annotate libmlk-core/core/sprite.h @ 292:08ab73b32832

misc: add extern "C" {} blocks for C++ friends
author David Demelier <markand@malikania.fr>
date Fri, 05 Mar 2021 10:08:09 +0100
parents cc676046aac9
children 196264679079
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
5
b5c649b6367b core: implement sprites, closes #2440
David Demelier <markand@malikania.fr>
parents:
diff changeset
1 /*
b5c649b6367b core: implement sprites, closes #2440
David Demelier <markand@malikania.fr>
parents:
diff changeset
2 * sprite.h -- image sprites
b5c649b6367b core: implement sprites, closes #2440
David Demelier <markand@malikania.fr>
parents:
diff changeset
3 *
b5c649b6367b core: implement sprites, closes #2440
David Demelier <markand@malikania.fr>
parents:
diff changeset
4 * Copyright (c) 2020 David Demelier <markand@malikania.fr>
b5c649b6367b core: implement sprites, closes #2440
David Demelier <markand@malikania.fr>
parents:
diff changeset
5 *
b5c649b6367b core: implement sprites, closes #2440
David Demelier <markand@malikania.fr>
parents:
diff changeset
6 * Permission to use, copy, modify, and/or distribute this software for any
b5c649b6367b core: implement sprites, closes #2440
David Demelier <markand@malikania.fr>
parents:
diff changeset
7 * purpose with or without fee is hereby granted, provided that the above
b5c649b6367b core: implement sprites, closes #2440
David Demelier <markand@malikania.fr>
parents:
diff changeset
8 * copyright notice and this permission notice appear in all copies.
b5c649b6367b core: implement sprites, closes #2440
David Demelier <markand@malikania.fr>
parents:
diff changeset
9 *
b5c649b6367b core: implement sprites, closes #2440
David Demelier <markand@malikania.fr>
parents:
diff changeset
10 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
b5c649b6367b core: implement sprites, closes #2440
David Demelier <markand@malikania.fr>
parents:
diff changeset
11 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
b5c649b6367b core: implement sprites, closes #2440
David Demelier <markand@malikania.fr>
parents:
diff changeset
12 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
b5c649b6367b core: implement sprites, closes #2440
David Demelier <markand@malikania.fr>
parents:
diff changeset
13 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
b5c649b6367b core: implement sprites, closes #2440
David Demelier <markand@malikania.fr>
parents:
diff changeset
14 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
b5c649b6367b core: implement sprites, closes #2440
David Demelier <markand@malikania.fr>
parents:
diff changeset
15 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
b5c649b6367b core: implement sprites, closes #2440
David Demelier <markand@malikania.fr>
parents:
diff changeset
16 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
b5c649b6367b core: implement sprites, closes #2440
David Demelier <markand@malikania.fr>
parents:
diff changeset
17 */
b5c649b6367b core: implement sprites, closes #2440
David Demelier <markand@malikania.fr>
parents:
diff changeset
18
243
71b3b7036de7 misc: lot of cleanups,
David Demelier <markand@malikania.fr>
parents: 192
diff changeset
19 #ifndef MOLKO_CORE_SPRITE_H
71b3b7036de7 misc: lot of cleanups,
David Demelier <markand@malikania.fr>
parents: 192
diff changeset
20 #define MOLKO_CORE_SPRITE_H
5
b5c649b6367b core: implement sprites, closes #2440
David Demelier <markand@malikania.fr>
parents:
diff changeset
21
166
e8c3ea4fe5d2 core: add sprite_ok function, closes #2505
David Demelier <markand@malikania.fr>
parents: 147
diff changeset
22 #include <stdbool.h>
e8c3ea4fe5d2 core: add sprite_ok function, closes #2505
David Demelier <markand@malikania.fr>
parents: 147
diff changeset
23
292
08ab73b32832 misc: add extern "C" {} blocks for C++ friends
David Demelier <markand@malikania.fr>
parents: 278
diff changeset
24 #include "core.h"
08ab73b32832 misc: add extern "C" {} blocks for C++ friends
David Demelier <markand@malikania.fr>
parents: 278
diff changeset
25
5
b5c649b6367b core: implement sprites, closes #2440
David Demelier <markand@malikania.fr>
parents:
diff changeset
26 struct texture;
b5c649b6367b core: implement sprites, closes #2440
David Demelier <markand@malikania.fr>
parents:
diff changeset
27
b5c649b6367b core: implement sprites, closes #2440
David Demelier <markand@malikania.fr>
parents:
diff changeset
28 struct sprite {
253
c4da052c0def core: goodbye doxygen
David Demelier <markand@malikania.fr>
parents: 243
diff changeset
29 struct texture *texture;
c4da052c0def core: goodbye doxygen
David Demelier <markand@malikania.fr>
parents: 243
diff changeset
30 unsigned int cellw;
c4da052c0def core: goodbye doxygen
David Demelier <markand@malikania.fr>
parents: 243
diff changeset
31 unsigned int cellh;
c4da052c0def core: goodbye doxygen
David Demelier <markand@malikania.fr>
parents: 243
diff changeset
32 unsigned int nrows;
c4da052c0def core: goodbye doxygen
David Demelier <markand@malikania.fr>
parents: 243
diff changeset
33 unsigned int ncols;
5
b5c649b6367b core: implement sprites, closes #2440
David Demelier <markand@malikania.fr>
parents:
diff changeset
34 };
b5c649b6367b core: implement sprites, closes #2440
David Demelier <markand@malikania.fr>
parents:
diff changeset
35
292
08ab73b32832 misc: add extern "C" {} blocks for C++ friends
David Demelier <markand@malikania.fr>
parents: 278
diff changeset
36 CORE_BEGIN_DECLS
08ab73b32832 misc: add extern "C" {} blocks for C++ friends
David Demelier <markand@malikania.fr>
parents: 278
diff changeset
37
5
b5c649b6367b core: implement sprites, closes #2440
David Demelier <markand@malikania.fr>
parents:
diff changeset
38 void
b5c649b6367b core: implement sprites, closes #2440
David Demelier <markand@malikania.fr>
parents:
diff changeset
39 sprite_init(struct sprite *sprite,
b5c649b6367b core: implement sprites, closes #2440
David Demelier <markand@malikania.fr>
parents:
diff changeset
40 struct texture *tex,
46
b815621df3e3 core: remove all fixed width integers, closes #2460
David Demelier <markand@malikania.fr>
parents: 27
diff changeset
41 unsigned int cellw,
b815621df3e3 core: remove all fixed width integers, closes #2460
David Demelier <markand@malikania.fr>
parents: 27
diff changeset
42 unsigned int cellh);
5
b5c649b6367b core: implement sprites, closes #2440
David Demelier <markand@malikania.fr>
parents:
diff changeset
43
166
e8c3ea4fe5d2 core: add sprite_ok function, closes #2505
David Demelier <markand@malikania.fr>
parents: 147
diff changeset
44 bool
e8c3ea4fe5d2 core: add sprite_ok function, closes #2505
David Demelier <markand@malikania.fr>
parents: 147
diff changeset
45 sprite_ok(const struct sprite *sprite);
e8c3ea4fe5d2 core: add sprite_ok function, closes #2505
David Demelier <markand@malikania.fr>
parents: 147
diff changeset
46
169
eb0a7ab71023 misc: extreme cleanup, closes #2506
David Demelier <markand@malikania.fr>
parents: 166
diff changeset
47 bool
192
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents: 169
diff changeset
48 sprite_draw(const struct sprite *sprite, unsigned int r, unsigned int c, int x, int y);
5
b5c649b6367b core: implement sprites, closes #2440
David Demelier <markand@malikania.fr>
parents:
diff changeset
49
278
cc676046aac9 core: add sprite_scale function
David Demelier <markand@malikania.fr>
parents: 253
diff changeset
50 bool
cc676046aac9 core: add sprite_scale function
David Demelier <markand@malikania.fr>
parents: 253
diff changeset
51 sprite_scale(const struct sprite *sprite,
cc676046aac9 core: add sprite_scale function
David Demelier <markand@malikania.fr>
parents: 253
diff changeset
52 unsigned int r,
cc676046aac9 core: add sprite_scale function
David Demelier <markand@malikania.fr>
parents: 253
diff changeset
53 unsigned int c,
cc676046aac9 core: add sprite_scale function
David Demelier <markand@malikania.fr>
parents: 253
diff changeset
54 int x,
cc676046aac9 core: add sprite_scale function
David Demelier <markand@malikania.fr>
parents: 253
diff changeset
55 int y,
cc676046aac9 core: add sprite_scale function
David Demelier <markand@malikania.fr>
parents: 253
diff changeset
56 unsigned int w,
cc676046aac9 core: add sprite_scale function
David Demelier <markand@malikania.fr>
parents: 253
diff changeset
57 unsigned int h);
cc676046aac9 core: add sprite_scale function
David Demelier <markand@malikania.fr>
parents: 253
diff changeset
58
292
08ab73b32832 misc: add extern "C" {} blocks for C++ friends
David Demelier <markand@malikania.fr>
parents: 278
diff changeset
59 CORE_END_DECLS
08ab73b32832 misc: add extern "C" {} blocks for C++ friends
David Demelier <markand@malikania.fr>
parents: 278
diff changeset
60
243
71b3b7036de7 misc: lot of cleanups,
David Demelier <markand@malikania.fr>
parents: 192
diff changeset
61 #endif /* !MOLKO_CORE_SPRITE_H */