blob: 5df39ab9f1ddd389792919291283443d152b5598 [file] [log] [blame]
Ethan Yonkerfbb43532015-12-28 21:54:50 +01001/*
2 * Copyright (C) 2014 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17#ifndef _GRAPHICS_H_
18#define _GRAPHICS_H_
19
bigbiffd81833a2021-01-17 11:06:57 -050020#include "minuitwrp/minui.h"
Ethan Yonkerfbb43532015-12-28 21:54:50 +010021
22// TODO: lose the function pointers.
23struct minui_backend {
24 // Initializes the backend and returns a GRSurface* to draw into.
25 GRSurface* (*init)(minui_backend*);
26
27 // Causes the current drawing surface (returned by the most recent
28 // call to flip() or init()) to be displayed, and returns a new
29 // drawing surface.
30 GRSurface* (*flip)(minui_backend*);
31
32 // Blank (or unblank) the screen.
33 void (*blank)(minui_backend*, bool);
34
35 // Device cleanup when drawing is done.
36 void (*exit)(minui_backend*);
37};
38
39minui_backend* open_fbdev();
40minui_backend* open_adf();
41minui_backend* open_drm();
42minui_backend* open_overlay();
43
44#endif