Ejemplo n.º 1
0
void recovery_statusbar_setcolor(word color){
  _recovery.status_reqcolor = color;
  if (_recovery.status_reqcolor!=_recovery.status_bgcolor){
    _recovery.status_prvcolor = _recovery.status_bgcolor;
    _recovery.status_updatestart = libaroma_tick();
  }
}
Ejemplo n.º 2
0
/*
 * Function    : QNXGF_end_post
 * Return Value: byte
 * Descriptions: end post
 */
byte QNXGF_end_post(LIBAROMA_FBP me){
  if (me == NULL) {
    return 0;
  }
  QNXGF_INTERNALP mi = (QNXGF_INTERNALP) me->internal;
  long nowtick = libaroma_tick();
  long diftick = nowtick - mi->lastpost;
  if (diftick<16){
    usleep((16-diftick)*1000);
  }
  mi->lastpost = nowtick;
  
  return 1;
}
Ejemplo n.º 3
0
static void * qnxhid_monitoring(void * cookie){
	qnx_hiddi_connect();
	int currnum=qnx_hiddi_getdevnum();
	ALOGI("INPUT DEVICE : %i Devices Detected",currnum);
  while(qnxhid_active){
    int nownum=qnx_hiddi_getdevnum();
    if (currnum!=nownum){
      ALOGI("INPUT DEVICE DETECTED CHANGED : %i to %i",currnum,nownum);
      // printf("DEV NUM: %i - %i\n",currnum,nownum);
      currnum=nownum;
      qnx_hiddi_disconnect();
      libaroma_sleep(500);
      qnx_hiddi_init();
      qnx_hiddi_connect();
      qnxhid_touchlastev=libaroma_tick();
    }
    else if (qnxhid_touchlastev<libaroma_tick()-8000){
      pthread_mutex_lock(&qnxhid_mutex);
      qnxhid_touchlastev=libaroma_tick();
      qnxhid_touchlastid=QNXHID_EV_TOUCH_UP;
      if (qnxhid_touchlastid>QNXHID_EV_TOUCH_UP){
        QNXHID_EVENT ev;
        ev.id=QNXHID_EV_TOUCH_UP;
        ev.x=qnxhid_touchlast_x;
        ev.y=qnxhid_touchlast_y;
        qnxhid_push_event(&ev);
      }
      pthread_mutex_unlock(&qnxhid_mutex);
      qnx_hiddi_disconnect();
      libaroma_sleep(500);
      qnx_hiddi_init();
      qnx_hiddi_connect();
    }
    libaroma_sleep(1500);
  }
  return NULL;
}
Ejemplo n.º 4
0
void qnxhid_send_event(byte id, int x, int y){
  pthread_mutex_lock(&qnxhid_mutex);
  //printf("HID EVENT: %i - %ix%i\n",id,x,y);
  byte send=1;
  if ((id==QNXHID_EV_TOUCH_UP)&&(qnxhid_touchlastid==QNXHID_EV_TOUCH_UP)){
    send=0;
  }
  qnxhid_touchlastev=libaroma_tick();
  qnxhid_touchlastid=id;
  qnxhid_touchlast_x=x;
  qnxhid_touchlast_y=y;
  
  if (send){
    QNXHID_EVENT ev;
    ev.id=id;
    ev.x=x;
    ev.y=y;
    qnxhid_push_event(&ev);
  }
  pthread_mutex_unlock(&qnxhid_mutex);
}
Ejemplo n.º 5
0
/*
 * Function    : libaroma_window_anishow
 * Return Value: byte
 * Descriptions: show window - animated
 */
byte libaroma_window_anishow(
    LIBAROMA_WINDOWP win,
    byte animation,
    int duration){
  __CHECK_WM(0);
  if (!win){
    return 0;
  }
  if (win->parent!=NULL){
    ALOGW("Child window cannot shown directly...");
    return 0;
  }
  
  /* set initial focus
    libaroma_window_setfocus(win, NULL);
  */
  
  if ((!animation)||(duration<50)){
    return libaroma_wm_set_active_window(win);
  }
  
  /* lock and retval */
  byte retval = 0;
  win->lock_sync = 1;
  
  if (libaroma_wm_set_active_window(win)){
    win->active=2;
    
    /* draw window into temp canvas */
    LIBAROMA_CANVASP wmc = win->dc;
    LIBAROMA_CANVASP tdc = libaroma_canvas(wmc->w,wmc->h);
    libaroma_draw(tdc,wmc,0,0,0);
    win->dc=tdc; /* switch dc */
    
    LIBAROMA_CANVASP back = libaroma_canvas(wmc->w, wmc->h);
    libaroma_draw(back,wmc,0,0,0);
    
    /* invalidate now */
    libaroma_window_invalidate(win, 10);
    
    long start = libaroma_tick();
    int delta = 0;
    while ((delta=libaroma_tick()-start)<duration){
      float state = ((float) delta)/((float) duration);
      if (state>=1.0){
        break;
      }
      switch (animation){
        case LIBAROMA_WINDOW_SHOW_ANIMATION_SLIDE_LEFT:
        case LIBAROMA_WINDOW_SHOW_ANIMATION_PAGE_LEFT:
          {
            float swift_out_state = libaroma_cubic_bezier_swiftout(state);
            int x = win->w - (swift_out_state * win->w);
            int w = win->w - x;
            if (w>0){
              if (animation==LIBAROMA_WINDOW_SHOW_ANIMATION_SLIDE_LEFT){
                if (w<win->w){
                  libaroma_draw_ex(
                    wmc,
                    back,
                    0, 0, win->w - (win->w - w), 0, win->w - w, win->h,
                    0, 0xff
                  );
                }
              }
              libaroma_draw_ex(
                wmc,
                win->dc,
                x, 0, 0, 0, w, win->h,
                0, 0xff
              );
              if (animation==LIBAROMA_WINDOW_SHOW_ANIMATION_SLIDE_LEFT){
                libaroma_wm_sync(win->x,win->y,win->w,win->h);
              }
              else{
                libaroma_wm_sync(win->x+x,win->y,w, win->h);
              }
            }
          }
          break;
        case LIBAROMA_WINDOW_SHOW_ANIMATION_SLIDE_RIGHT:
        case LIBAROMA_WINDOW_SHOW_ANIMATION_PAGE_RIGHT:
          {
            float swift_out_state = libaroma_cubic_bezier_swiftout(state);
            int x = 0 - (win->w - (swift_out_state * win->w));
            int w = win->w + x;
            if (w>0){
              if (animation==LIBAROMA_WINDOW_SHOW_ANIMATION_SLIDE_RIGHT){
                if (w<win->w){
                  libaroma_draw_ex(
                    wmc,
                    back,
                    w, 0, 0, 0, win->w - w, win->h,
                    0, 0xff
                  );
                }
              }
              libaroma_draw_ex(
                wmc,
                win->dc,
                0, 0, win->w-w, 0, w, win->h,
                0, 0xff
              );
              if (animation==LIBAROMA_WINDOW_SHOW_ANIMATION_SLIDE_RIGHT){
                libaroma_wm_sync(win->x,win->y,win->w,win->h);
              }
              else{
                libaroma_wm_sync(win->x,win->y,w, win->h);
              }
            }
          }
          break;
        default:
          /* invalid animation */
          start=0;
          break;
      }
    }
    
    retval = 1;
    libaroma_draw(wmc,win->dc,0,0,0);
              
    win->dc=wmc; /* switch dc back */
  
    /* cleanup */
    libaroma_canvas_free(back);
    libaroma_canvas_free(tdc);
  }
  
  win->lock_sync = 0;
  
  /* sync view now */
  if (retval){
    win->active=1;
    libaroma_window_sync(win, 0, 0, win->w, win->h);
  }
  
  /* send activate */
  LIBAROMA_MSG _msg;
  libaroma_window_process_event(win,libaroma_wm_compose(
    &_msg, LIBAROMA_MSG_WIN_ACTIVE, NULL, 10, 0)
  );
  
  return retval;
} /* End of libaroma_window_show */