summaryrefslogtreecommitdiff
path: root/src/modules/sparkler/draw.h
blob: b988319756985aa38962471e838bcc4f212e5087 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#ifndef _DRAW_H
#define _DRAW_H

#include <stdint.h>

#include "fb.h"

/* helper for scaling rgb colors and packing them into an pixel */
static inline uint32_t makergb(uint32_t r, uint32_t g, uint32_t b, float intensity)
{
	r = (((float)intensity) * r);
	g = (((float)intensity) * g);
	b = (((float)intensity) * b);

	return (((r & 0xff) << 16) | ((g & 0xff) << 8) | (b & 0xff));
}

static inline void draw_pixel(fb_fragment_t *f, int x, int y, uint32_t pixel)
{
	uint32_t	*pixels = f->buf;

	/* FIXME this assumes stride is aligned to 4 */
	pixels[(y * (f->width + (f->stride >> 2))) + x] = pixel;
}

#endif
© All Rights Reserved