projects
/
dosdemo
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
- added rules for building asm code in the gcc makefiles
[dosdemo]
/
src
/
gfxutil.h
diff --git
a/src/gfxutil.h
b/src/gfxutil.h
index
f811987
..
c0a1fde
100644
(file)
--- a/
src/gfxutil.h
+++ b/
src/gfxutil.h
@@
-1,8
+1,16
@@
#ifndef GFXUTIL_H_
#define GFXUTIL_H_
#ifndef GFXUTIL_H_
#define GFXUTIL_H_
+#include "inttypes.h"
+
#define PACK_RGB16(r, g, b) \
#define PACK_RGB16(r, g, b) \
- (((((r) >> 3) & 0x1f) << 11) | ((((g) >> 2) & 0x3f) << 5) | (((b) >> 3) & 0x1f))
+ ((((uint16_t)(r) << 8) & 0xf800) | \
+ (((uint16_t)(g) << 3) & 0x7e0) | \
+ (((uint16_t)(b) >> 3) & 0x1f))
+
+#define UNPACK_R16(c) (((c) >> 8) & 0xf8)
+#define UNPACK_G16(c) (((c) >> 3) & 0xfc)
+#define UNPACK_B16(c) (((c) << 3) & 0xf8)
#define PACK_RGB32(r, g, b) \
((((r) & 0xff) << 16) | (((g) & 0xff) << 8) | ((b) & 0xff))
#define PACK_RGB32(r, g, b) \
((((r) & 0xff) << 16) | (((g) & 0xff) << 8) | ((b) & 0xff))
@@
-10,4
+18,8
@@
int clip_line(int *x0, int *y0, int *x1, int *y1, int xmin, int ymin, int xmax, int ymax);
void draw_line(int x0, int y0, int x1, int y1, unsigned short color);
int clip_line(int *x0, int *y0, int *x1, int *y1, int xmin, int ymin, int xmax, int ymax);
void draw_line(int x0, int y0, int x1, int y1, unsigned short color);
+/* scale in 24.8 fixed point */
+void blur_grey_horiz(uint16_t *dest, uint16_t *src, int xsz, int ysz, int radius, int scale);
+void blur_grey_vert(uint16_t *dest, uint16_t *src, int xsz, int ysz, int radius, int scale);
+
#endif /* GFXUTIL_H_ */
#endif /* GFXUTIL_H_ */