Exemplo n.º 1
0
gint configure_event( GtkWidget *widget, GdkEvent *event, gpointer data )
{
  int i;

  if( pixmap ) {
    g_object_unref( pixmap );
    for( i = bg; i <= vp_frame; i++ )
      gdk_gc_unref( gc[i] );
  }

  pixmap = gdk_pixmap_new( widget->window, width, height, -1 );
  for( i = bg; i <= ws_divider; i++ )
    gdk_gc_set_foreground( gc[i] = gdk_gc_new( pixmap ), &colors[i] );

  /* wishing for a nicer line style, like 3 on, 5 off, making this alternate for neighbouring VPs */
  gdk_gc_set_line_attributes( gc[vp_divider], 1, GDK_LINE_ON_OFF_DASH,
			      GDK_CAP_ROUND, GDK_JOIN_ROUND );
  gdk_gc_set_foreground( gc[vp_frame] = gdk_gc_new( pixmap ), &colors[vp_divider] );
  gdk_gc_set_line_attributes( gc[vp_frame], 1, GDK_LINE_ON_OFF_DASH,
			      GDK_CAP_ROUND, GDK_JOIN_ROUND );
  /* wishing for Gimp-style functions -- GDK is just too primitive */
  /* gdk_gc_set_function( gc[vp_frame], GDK_XOR ); */

  make_background();
  draw_pager( widget );

  return TRUE;
}
Exemplo n.º 2
0
pager::pager(QWidget *parent) : QLabel(parent)
{
	dwidth = QApplication::desktop()->width();
	dheight = QApplication::desktop()->height();

	setFixedSize((int)((defaults::vdesks*defaults::pager_height*(float)dwidth)/(float)dheight)+2, defaults::pager_height);
	setFrameStyle(QFrame::Panel|QFrame::Sunken);
	setLineWidth(1);

	vw = (width()-2)/defaults::vdesks;
	vh = defaults::pager_height-2;
	backpix = new QPixmap(width()-2, vh);
	draw_pager();
}