Blame app.h

Ivan Mahonin 452870
#ifndef APP_H
Ivan Mahonin 452870
#define APP_H
Ivan Mahonin 452870
Ivan Mahonin 452870
Ivan Mahonin 452870
#include "common.h"
Ivan Mahonin 7e0df9
#include "touch.h"
Ivan Mahonin 452870
#include "graph.h"
Ivan Mahonin 452870
#include "input.h"
Ivan Mahonin 452870
#include "keyboard.h"
Ivan Mahonin 452870
Ivan Mahonin 7e0df9
#include <X11/extensions/Xrandr.h>
Ivan Mahonin 7e0df9
Ivan Mahonin 452870
Ivan Mahonin 452870
struct App {
Ivan Mahonin 452870
  // keep these filds at the begining for easyest static initialization
Ivan Mahonin 452870
  Keyboard keyboard;
Ivan Mahonin 452870
  Input input;
Ivan Mahonin 452870
  Graph graph;
Ivan Mahonin 7e0df9
  Touch touch;
Ivan Mahonin 452870
  
Ivan Mahonin 452870
  // these fields will be set while initialization
Ivan Mahonin dbe1a1
  Display *dpy;
Ivan Mahonin dbe1a1
  int screen;
Ivan Mahonin dbe1a1
  Window root;
Ivan Mahonin dbe1a1
  Window win;
Ivan Mahonin 8864eb
  Atom aWmDel;
Ivan Mahonin 452870
Ivan Mahonin 452870
  // dynamic fields
Ivan Mahonin 843e7a
  int run;
Ivan Mahonin e3897e
  int sw, sh;
Ivan Mahonin 7e0df9
  Rotation sr;
Ivan Mahonin dbe1a1
  int x, y, w, h;
Ivan Mahonin c456ae
  int dockt, dockb;
Ivan Mahonin dbe1a1
  int irx, iry, irw, irh;
Ivan Mahonin e3897e
  int xron, xrev, xrerr;
Ivan Mahonin 452870
};
Ivan Mahonin 452870
Ivan Mahonin 452870
Ivan Mahonin 7e0df9
int appInit(App *app, const char *touch_dev);
Ivan Mahonin 452870
void appDeinit(App *app);
Ivan Mahonin 452870
int appRun(App *app);
Ivan Mahonin 843e7a
void appStop(App *app, int err);
Ivan Mahonin c456ae
void appUpdateStrut(App *app);
Ivan Mahonin 7e0df9
void appUpdateScreenSize(App *app, int sw, int sh, Rotation sr);
Ivan Mahonin 51e530
void appMove(App *app, int x, int y, int w, int h, int force);
Ivan Mahonin 452870
void appInvalidateRect(App *app, int x, int y, int w, int h);
Ivan Mahonin 452870
Ivan Mahonin 452870
Ivan Mahonin 452870
#endif