示例#1
0
文件: screen.c 项目: guns/subtle
void
subScreenRender(void)
{
  int i, j;

  /* Render all screens */
  for(i = 0; i < subtle->screens->ndata; i++)
    {
      SubScreen *s = SCREEN(subtle->screens->data[i]);
      Window panel = s->panel1;

      ScreenClear(s, subtle->styles.subtle.top);

      /* Render panel items */
      for(j = 0; s->panels && j < s->panels->ndata; j++)
        {
          SubPanel *p = PANEL(s->panels->data[j]);

          if(p->flags & SUB_PANEL_HIDDEN) continue;
          if(panel != s->panel2 && p->flags & SUB_PANEL_BOTTOM)
            {
              ScreenCopy(s, panel);
              ScreenClear(s, subtle->styles.subtle.bottom);
              panel = s->panel2;
            }

          subPanelRender(p, s->drawable);
        }

      ScreenCopy(s, panel);
    }

  XSync(subtle->dpy, False); ///< Sync before going on
} /* }}} */
示例#2
0
文件: screen.c 项目: lian/subtle
void
subScreenRender(void)
{
  int i, j;

  /* Render all screens */
  for(i = 0; i < subtle->screens->ndata; i++)
    {
      SubScreen *s = SCREEN(subtle->screens->data[i]);
      Window panel = s->panel1;

      ScreenClear(s, subtle->styles.subtle.top);

      /* Render panel items */
      for(j = 0; s->panels && j < s->panels->ndata; j++)
        {
          SubPanel *p = PANEL(s->panels->data[j]);

          if(p->flags & SUB_PANEL_HIDDEN) continue;
          if(panel != s->panel2 && p->flags & SUB_PANEL_BOTTOM)
            {
              XCopyArea(subtle->dpy, s->drawable, panel, subtle->gcs.draw,
                0, 0, s->base.width, subtle->ph, 0, 0);

              ScreenClear(s, subtle->styles.subtle.bottom);
              panel = s->panel2;
            }

          subPanelRender(p, s->drawable);
        }

      XCopyArea(subtle->dpy, s->drawable, panel, subtle->gcs.draw,
        0, 0, s->base.width, subtle->ph, 0, 0);
    }

  XSync(subtle->dpy, False); ///< Sync before going on

  subSubtleLogDebugSubtle("Render\n");
} /* }}} */