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");
 | 
						|
}
 | 
						|
 | 
						|
 |