Rev 6495 | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
6451 | punk_joker | 1 | #ifndef KOLIBRI_BUF2D_H |
2 | #define KOLIBRI_BUF2D_H |
||
3 | |||
4 | /*ToDo |
||
5 | * voxel function |
||
6 | */ |
||
7 | |||
6495 | punk_joker | 8 | extern int kolibri_buf2d_init(void); |
6451 | punk_joker | 9 | |
6589 | siemargl | 10 | typedef struct __attribute__ ((__packed__)) { |
6451 | punk_joker | 11 | unsigned int *buf_pointer; |
6589 | siemargl | 12 | uint16_t left; |
13 | uint16_t top; |
||
14 | unsigned int width; |
||
15 | unsigned int height; |
||
16 | unsigned int bgcolor; |
||
17 | uint8_t color_bit; |
||
18 | }buf2d_struct; |
||
6451 | punk_joker | 19 | |
20 | enum BUF2D_ALGORITM_FILTR { |
||
21 | SIERRA_LITE, |
||
22 | FLOYD_STEINBERG, |
||
23 | BURKERS, |
||
24 | HEAVYIRON_MOD, |
||
25 | ATKINSON |
||
26 | }; |
||
27 | |||
28 | enum BUF2D_OPT_CROP { |
||
29 | BUF2D_OPT_CROP_TOP = 1, |
||
30 | BUF2D_OPT_CROP_LEFT = 2, |
||
31 | BUF2D_OPT_CROP_BOTTOM = 4, |
||
32 | BUF2D_OPT_CROP_RIGHT = 8 |
||
33 | }; |
||
34 | |||
6457 | punk_joker | 35 | extern void (*buf2d_create_asm)(buf2d_struct *) __attribute__((__stdcall__)); |
36 | extern void (*buf2d_curve_bezier_asm)(buf2d_struct *, unsigned int, unsigned int, unsigned int, unsigned int) __attribute__((__stdcall__)); |
||
6451 | punk_joker | 37 | |
6457 | punk_joker | 38 | buf2d_struct* buf2d_create(uint16_t tlx, uint16_t tly, unsigned int sizex, unsigned int sizey, unsigned int font_bgcolor, uint8_t color_bit) |
6451 | punk_joker | 39 | { |
6457 | punk_joker | 40 | buf2d_struct *new_buf2d_struct = (buf2d_struct *)malloc(sizeof(buf2d_struct)); |
6451 | punk_joker | 41 | new_buf2d_struct -> left = tlx; |
6589 | siemargl | 42 | new_buf2d_struct -> top = tly; |
6451 | punk_joker | 43 | new_buf2d_struct -> width = sizex; |
44 | new_buf2d_struct -> height = sizey; |
||
45 | new_buf2d_struct -> bgcolor = font_bgcolor; |
||
46 | new_buf2d_struct -> color_bit = color_bit; |
||
47 | buf2d_create_asm(new_buf2d_struct); |
||
48 | return new_buf2d_struct; |
||
49 | } |
||
50 | |||
6457 | punk_joker | 51 | void buf2d_curve_bezier(buf2d_struct *buf, unsigned int p0_x, unsigned int p0_y, unsigned int p1_x, unsigned int p1_y, unsigned int p2_x, unsigned int p2_y, unsigned int color) |
6452 | punk_joker | 52 | { |
53 | buf2d_curve_bezier_asm(buf, (p0_x<<16)+p0_y, (p1_x<<16)+p1_y, (p2_x<<16)+p2_y, color); |
||
54 | } |
||
55 | |||
6457 | punk_joker | 56 | extern void (*buf2d_draw)(buf2d_struct *) __attribute__((__stdcall__)); |
57 | extern void (*buf2d_clear)(buf2d_struct *, unsigned int) __attribute__((__stdcall__)); |
||
58 | extern void (*buf2d_delete)(buf2d_struct *) __attribute__((__stdcall__)); |
||
59 | extern void (*buf2d_rotate)(buf2d_struct *, unsigned int) __attribute__((__stdcall__)); |
||
60 | extern void (*buf2d_resize)(buf2d_struct *, unsigned int, unsigned int, unsigned int) __attribute__((__stdcall__)); |
||
61 | extern void (*buf2d_line)(buf2d_struct *, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int) __attribute__((__stdcall__)); |
||
62 | extern void (*buf2d_line_sm)(buf2d_struct *, unsigned int, unsigned int, unsigned int, unsigned int) __attribute__((__stdcall__)); |
||
63 | extern void (*buf2d_rect_by_size)(buf2d_struct *, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int) __attribute__((__stdcall__)); |
||
64 | extern void (*buf2d_filled_rect_by_size)(buf2d_struct *, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int) __attribute__((__stdcall__)); |
||
65 | extern void (*buf2d_circle)(buf2d_struct *, unsigned int, unsigned int, unsigned int, unsigned int) __attribute__((__stdcall__)); |
||
66 | extern void (*buf2d_img_hdiv2)(buf2d_struct *) __attribute__((__stdcall__)); |
||
67 | extern void (*buf2d_img_wdiv2)(buf2d_struct *) __attribute__((__stdcall__)); |
||
68 | extern void (*buf2d_conv_24_to_8)(buf2d_struct *, unsigned int) __attribute__((__stdcall__)); |
||
69 | extern void (*buf2d_conv_24_to_32)(buf2d_struct *, unsigned int) __attribute__((__stdcall__)); |
||
70 | extern void (*buf2d_bit_blt_transp)(buf2d_struct *, unsigned int, unsigned int, buf2d_struct *) __attribute__((__stdcall__)); |
||
71 | extern void (*buf2d_bit_blt_alpha)(buf2d_struct *, unsigned int, unsigned int, buf2d_struct *) __attribute__((__stdcall__)); |
||
72 | extern void (*buf2d_convert_text_matrix)(buf2d_struct *) __attribute__((__stdcall__)); |
||
73 | extern void (*buf2d_draw_text)(buf2d_struct *, buf2d_struct *, const char *, unsigned int, unsigned int) __attribute__((__stdcall__)); |
||
74 | extern void (*buf2d_crop_color)(buf2d_struct *, unsigned int, unsigned int) __attribute__((__stdcall__)); |
||
75 | extern void (*buf2d_offset_h)(buf2d_struct *, unsigned int, unsigned int, unsigned int) __attribute__((__stdcall__)); |
||
76 | extern void (*buf2d_flood_fill)(buf2d_struct *, unsigned int, unsigned int, unsigned int, unsigned int) __attribute__((__stdcall__)); |
||
77 | extern void (*buf2d_set_pixel)(buf2d_struct *, unsigned int, unsigned int, unsigned int) __attribute__((__stdcall__)); |
||
78 | extern unsigned int (*buf2d_get_pixel)(buf2d_struct *, unsigned int, unsigned int) __attribute__((__stdcall__)); |
||
79 | extern void (*buf2d_flip_h)(buf2d_struct *) __attribute__((__stdcall__)); |
||
80 | extern void (*buf2d_flip_v)(buf2d_struct *) __attribute__((__stdcall__)); |
||
81 | extern void (*buf2d_filter_dither)(buf2d_struct *, unsigned int) __attribute__((__stdcall__)); |
||
6451 | punk_joker | 82 | #endif /* KOLIBRI_BUF2D_H */16)+p2_y,><16)+p2_y,>16)+p1_y,><16)+p1_y,>16)+p0_y,><16)+p0_y,> |