projects
/
fw
/
altos
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
altos/telelco-v3: Add logo to 'info' page
[fw/altos]
/
src
/
draw
/
ao_draw.h
diff --git
a/src/draw/ao_draw.h
b/src/draw/ao_draw.h
index b4ca6eacc64c106ac74cf1088da764150aa541b1..7f1a413cd980be8ed87d10b0dcb9fce261194996 100644
(file)
--- a/
src/draw/ao_draw.h
+++ b/
src/draw/ao_draw.h
@@
-18,14
+18,18
@@
#include <stdint.h>
#include <stdbool.h>
#include "ao_font.h"
#include <stdint.h>
#include <stdbool.h>
#include "ao_font.h"
+#include "ao_box.h"
struct ao_bitmap {
uint32_t *base;
int16_t stride; /* in units */
int16_t width; /* in pixels */
int16_t height; /* in pixels */
struct ao_bitmap {
uint32_t *base;
int16_t stride; /* in units */
int16_t width; /* in pixels */
int16_t height; /* in pixels */
+ struct ao_box damage;
};
};
+#define AO_BITMAP_STRIDE(width) (((width) + 31) >> 5)
+
struct ao_coord {
float x, y;
};
struct ao_coord {
float x, y;
};
@@
-81,6
+85,12
@@
ao_stride_bytes(int16_t width)
return (int16_t) ((width + 7) >> 3);
}
return (int16_t) ((width + 7) >> 3);
}
+static inline void
+ao_damage_set_empty(struct ao_bitmap *dst)
+{
+ ao_box_set_empty(&dst->damage);
+}
+
struct ao_pattern {
uint8_t pattern[8];
};
struct ao_pattern {
uint8_t pattern[8];
};
@@
-103,7
+113,7
@@
struct ao_font {
};
void
};
void
-ao_copy(
const struct ao_bitmap
*dst,
+ao_copy(
struct ao_bitmap
*dst,
int16_t dst_x,
int16_t dst_y,
int16_t width,
int16_t dst_x,
int16_t dst_y,
int16_t width,
@@
-114,7
+124,7
@@
ao_copy(const struct ao_bitmap *dst,
uint8_t rop);
void
uint8_t rop);
void
-ao_rect(
const struct ao_bitmap
*dst,
+ao_rect(
struct ao_bitmap
*dst,
int16_t x,
int16_t y,
int16_t width,
int16_t x,
int16_t y,
int16_t width,
@@
-123,7
+133,7
@@
ao_rect(const struct ao_bitmap *dst,
uint8_t rop);
void
uint8_t rop);
void
-ao_pattern(
const struct ao_bitmap
*dst,
+ao_pattern(
struct ao_bitmap
*dst,
int16_t x,
int16_t y,
int16_t width,
int16_t x,
int16_t y,
int16_t width,
@@
-134,7
+144,7
@@
ao_pattern(const struct ao_bitmap *dst,
uint8_t rop);
void
uint8_t rop);
void
-ao_line(
const struct ao_bitmap
*dst,
+ao_line(
struct ao_bitmap
*dst,
int16_t x1,
int16_t y1,
int16_t x2,
int16_t x1,
int16_t y1,
int16_t x2,
@@
-143,24
+153,30
@@
ao_line(const struct ao_bitmap *dst,
uint8_t rop);
void
uint8_t rop);
void
-ao_poly(
const struct ao_bitmap
*dst,
+ao_poly(
struct ao_bitmap
*dst,
const struct ao_coord *coords,
uint16_t ncoords,
const struct ao_transform *transform,
uint32_t fill,
uint8_t rop);
const struct ao_coord *coords,
uint16_t ncoords,
const struct ao_transform *transform,
uint32_t fill,
uint8_t rop);
-void
-ao_text(
const struct ao_bitmap
*dst,
+int16_t
+ao_text(
struct ao_bitmap
*dst,
const struct ao_font *font,
int16_t x,
int16_t y,
const struct ao_font *font,
int16_t x,
int16_t y,
- c
har
*string,
+ c
onst char
*string,
uint32_t fill,
uint8_t rop);
void
uint32_t fill,
uint8_t rop);
void
-ao_logo(const struct ao_bitmap *dst,
+ao_logo_poly(struct ao_bitmap *dst,
+ const struct ao_transform *transform,
+ uint32_t fill,
+ uint8_t rop);
+
+void
+ao_logo(struct ao_bitmap *dst,
const struct ao_transform *transform,
const struct ao_font *font,
uint32_t fill,
const struct ao_transform *transform,
const struct ao_font *font,
uint32_t fill,
@@
-201,4
+217,7
@@
extern const struct ao_transform ao_identity;
#define AO_NAND 0xe /* NOT src OR NOT dst */
#define AO_SET 0xf /* 1 */
#define AO_NAND 0xe /* NOT src OR NOT dst */
#define AO_SET 0xf /* 1 */
+#define AO_WHITE 0xffffffff
+#define AO_BLACK 0x00000000
+
#endif /* _AO_DRAW_H_ */
#endif /* _AO_DRAW_H_ */