2 #ifndef __FRAMEBUFFER__
3 #define __FRAMEBUFFER__
58 free(top_left_corner);
92 free(top_left_corner);
133 free(top_left_corner);
286 SHDestroyPoint(point1);
287 SHDestroyPoint(point2);
318 SHDestroyPoint(point1);
319 SHDestroyPoint(point2);
void fb_erase_string(framebuffer, point *, char *)
Erase string on fb starting at top_left_corner.
void fb_draw_ellipse(framebuffer, point *, ushort, ushort, shade_t)
Draw an ellipse in fb at center with specified x- and y-radii of color shade.
void fb_erase_pixel(framebuffer fb, uchar x, uchar y)
Erase pixel (x,y) in .
void fb_draw_string(framebuffer fb, point *top_left_corner, char *string)
Draw string on fb starting at top_left_corner.
Representation of a circle.
Representation of a shape.
private void _fb_draw_char(framebuffer, point *, char)
For internal use only.
void fb_draw_shape_arr(framebuffer, ushort, shape **)
private void _fb_draw_string(framebuffer, point *, char *)
For internal use only.
void fb_erase_string_anon(framebuffer fb, point *top_left_corner, char *string)
Erase string on fb starting at top_left_corner and free top_left_corner.
private void _fb_draw_shape(framebuffer, shape *, shade_t)
For internal use only.
void fb_console_println_coordinate(uchar, uchar, shade_t)
Print a coordinate (ordered pair) to the console followed by a newline.
void fb_draw_string_anon_pt(framebuffer fb, point *top_left_corner, char *string)
Call fb_draw_string and destroy top_left_corner.
void fb_console_print_coordinate(uchar, uchar, shade_t)
Print a coordinate (ordered pair) to the console.
void fb_draw_shape(framebuffer, shape *)
Using as a canvas, draw .
void fb_destroy(framebuffer)
Destroy a framebuffer object.
private void _fb_fill_four_ellipse_points(framebuffer, point *, ushort, ushort)
Fill an ellipse on fb.
void fb_draw_circle(framebuffer fb, circle *c)
Draw a circle in at with radius of color .
void fb_erase_char_anon(framebuffer fb, point *top_left_corner, char c)
Call and free .
void fb_draw_line(framebuffer fb, point *point1, point *point2, shade_t shade)
Draw a line segment on from to of color .to of color .shade.
framebuffer fb_init(void)
Create a framebuffer object and return the handle.
void fb_erase_anon_line(framebuffer fb, point *point1, point *point2)
Erases a line connecting two points before destroys the two points.
void fb_erase_char(framebuffer, point *, char)
Erase char on fb starting at top_left_corner.
void fb_draw_anon_line(framebuffer fb, point *point1, point *point2, shade_t shade)
Draws a line connecting two points before destroying the two points.
void fb_erase_shape(framebuffer fb, shape *sh)
Using as a canvas, draw .
void fb_erase_shape_arr(framebuffer, ushort, shape **)
void fb_draw_shapes(framebuffer, ushort,...)
void fb_draw_line_gradient(framebuffer fb, point *point1, point *point2, shade_t shade)
Draw a line segment on from to .
Representation of an ordered pair with a shade.
private void _fb_draw_line(framebuffer, point *, point *, shade_t)
The heavy-lifter (pixel-setter) in line-segment-drawing.
void fb_console_println_point(point *)
Print a point (ordered pair) to the console followed by a newline.
void fb_draw_ellipse_fill(framebuffer, point *, ushort, ushort, shade_t)
Draw on fb a shaded ellipse described by center, x- and y-radii.
void fb_console_print_point(point *)
Print a point (ordered pair) to the console.
void fb_erase_line(framebuffer fb, point *point1, point *point2)
Remove a line segment on from to .
private void _fb_plot_four_ellipse_points(framebuffer, point *, ushort, ushort)
Plot on fb the four symmetric points on an ellipse described by a center and x- and y-offsets...
void fb_clear_pixel(framebuffer fb, uchar x, uchar y)
Clear pixel (x,y) in .
void fb_set_pixel(framebuffer, uchar, uchar, shade_t)
In fb, set pixel (x,y) to .