You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
48 lines
1018 B
48 lines
1018 B
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
#include <stdbool.h>
|
|
|
|
#include <GLES3/gl3.h>
|
|
#include <EGL/egl.h>
|
|
#include <EGL/eglext.h>
|
|
|
|
#include "common/framebuffer.h"
|
|
#include "common/touch.h"
|
|
|
|
typedef struct UIState {
|
|
FramebufferState *fb;
|
|
int fb_w, fb_h;
|
|
EGLDisplay display;
|
|
EGLSurface surface;
|
|
} UIState;
|
|
|
|
TouchState touch = {0};
|
|
|
|
void wait_for_touch() {
|
|
int touch_x = -1, touch_y = -1;
|
|
while (1) {
|
|
int touched = touch_poll(&touch, &touch_x, &touch_y, 0);
|
|
if (touched == 1) { break; }
|
|
}
|
|
}
|
|
|
|
int main() {
|
|
UIState uistate;
|
|
UIState *s = &uistate;
|
|
|
|
memset(s, 0, sizeof(UIState));
|
|
s->fb = framebuffer_init("ui", 0x00010000, true,
|
|
&s->display, &s->surface, &s->fb_w, &s->fb_h);
|
|
|
|
touch_init(&touch);
|
|
|
|
printf("waiting for touch with screen on\n");
|
|
framebuffer_set_power(s->fb, HWC_POWER_MODE_NORMAL);
|
|
wait_for_touch();
|
|
|
|
printf("waiting for touch with screen off\n");
|
|
framebuffer_set_power(s->fb, HWC_POWER_MODE_OFF);
|
|
wait_for_touch();
|
|
printf("done\n");
|
|
}
|
|
|
|
|