summaryrefslogtreecommitdiffstats
path: root/src/target/ui-experiment/display.h
blob: 5591370026f6cc5b1ff1ca6be1db321116369ce5 (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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#ifndef _UI_DISPLAY_H
#define _UI_DISPLAY_H

#include <ui/pixel.h>
#include <ui/image.h>

/**
 * Displays - physical display devices
 *
 * This layer is introduced tentatively, expecting use
 * of OSMOCOM on multi-display phones, most likely
 * with a main screen and a cover screen.
 *
 */
struct display {
	const char *name;

	pxtype_t pixeltype;
	pxsize_t width;
	pxsize_t height;

	/* We always operate on an in-memory frame buffer that 
	 * can be put on display using damage functions provided
	 * by the image class.
	 */
	struct image *fbuf;

	/*
	 * We display a top-level widget.
	 */
	struct widget *widget;

	/*
	 * We hold a graphics context, configured for the target
	 * pixel format.
	 */
	struct graphics *graphics;


	void (*draw) (struct display *display);

	void *priv;
};

#endif