PatchworkOS
Loading...
Searching...
No Matches
drawable.h File Reference
#include "cmd.h"
#include "font.h"
#include "pixel.h"
#include "polygon.h"
#include "rect.h"
#include "surface.h"
#include <stdint.h>

Go to the source code of this file.

Data Structures

struct  drawable_t
 Drawable structure. More...
 

Typedefs

typedef struct image image_t
 

Enumerations

enum  align_t {
  ALIGN_CENTER = 0 ,
  ALIGN_MAX = 1 ,
  ALIGN_MIN = 2
}
 Alignment type. More...
 
enum  direction_t {
  DIRECTION_VERTICAL ,
  DIRECTION_HORIZONTAL ,
  DIRECTION_DIAGONAL
}
 Direction type. More...
 

Functions

void draw_rect (drawable_t *draw, const rect_t *rect, pixel_t pixel)
 Draw a filled rectangle.
 
void draw_polygon (drawable_t *draw, const point_t *points, uint64_t pointCount, pixel_t pixel)
 Draw a filled polygon.
 
void draw_line (drawable_t *draw, const point_t *start, const point_t *end, pixel_t pixel, uint32_t thickness)
 Draw a line between two points.
 
void draw_frame (drawable_t *draw, const rect_t *rect, uint64_t width, pixel_t foreground, pixel_t background)
 Draw a skeuomorphic frame.
 
void draw_dashed_outline (drawable_t *draw, const rect_t *rect, pixel_t pixel, uint32_t length, int32_t width)
 Draw a dashed outline just inside the given rectangle.
 
void draw_bezel (drawable_t *draw, const rect_t *rect, uint64_t width, pixel_t pixel)
 Draw a filled border bezel just inside the given rectangle.
 
void draw_gradient (drawable_t *draw, const rect_t *rect, pixel_t start, pixel_t end, direction_t direction, bool shouldAddNoise)
 Draw a gradient filled rectangle.
 
void draw_transfer (drawable_t *dest, drawable_t *src, const rect_t *destRect, const point_t *srcPoint)
 Transfer pixels from one drawable to another.
 
void draw_transfer_blend (drawable_t *dest, drawable_t *src, const rect_t *destRect, const point_t *srcPoint)
 Transfer pixels from one drawable to another with alpha blending.
 
void draw_image (drawable_t *draw, image_t *image, const rect_t *destRect, const point_t *srcPoint)
 Draw an image,.
 
void draw_image_blend (drawable_t *draw, image_t *image, const rect_t *destRect, const point_t *srcPoint)
 Draw an image with alpha blending.
 
void draw_string (drawable_t *draw, const font_t *font, const point_t *point, pixel_t pixel, const char *string, uint64_t length)
 Draw a string.
 
void draw_text (drawable_t *draw, const rect_t *rect, const font_t *font, align_t xAlign, align_t yAlign, pixel_t pixel, const char *text)
 Draw text to a drawable.
 
void draw_text_multiline (drawable_t *draw, const rect_t *rect, const font_t *font, align_t xAlign, align_t yAlign, pixel_t pixel, const char *text)
 Draw multiline text to a drawable.
 
void draw_ridge (drawable_t *draw, const rect_t *rect, uint64_t width, pixel_t foreground, pixel_t background)
 Draw a ridge effect.
 
void draw_separator (drawable_t *draw, const rect_t *rect, pixel_t highlight, pixel_t shadow, direction_t direction)
 Draw a separator line.
 
void draw_invalidate (drawable_t *draw, const rect_t *rect)
 Invalidate a rectangle in the drawable.
 

Typedef Documentation

◆ image_t

typedef struct image image_t

Definition at line 18 of file drawable.h.