コード例 #1
0
static void
gtk_level_bar_snapshot_fill_continuous (GtkLevelBar *self,
                                        GtkSnapshot *snapshot)
{
  gboolean inverted;

  inverted = gtk_level_bar_get_real_inverted (self);

  /* render the empty (unfilled) part */
  gtk_css_gadget_snapshot (self->priv->block_gadget[inverted ? 0 : 1], snapshot);

  /* now render the filled part on top of it */
  gtk_css_gadget_snapshot (self->priv->block_gadget[inverted ? 1 : 0], snapshot);
}
コード例 #2
0
static gboolean
gtk_switch_snapshot_trough (GtkCssGadget *gadget,
                            GtkSnapshot  *snapshot,
                            int           x,
                            int           y,
                            int           width,
                            int           height,
                            gpointer      data)
{
  GtkWidget *widget = gtk_css_gadget_get_owner (gadget);
  GtkSwitchPrivate *priv = GTK_SWITCH (widget)->priv;
  GtkStyleContext *context = gtk_widget_get_style_context (widget);
  PangoRectangle rect;
  gint label_x, label_y;

  pango_layout_get_pixel_extents (priv->on_layout, NULL, &rect);

  label_x = x + ((width / 2) - rect.width) / 2;
  label_y = y + (height - rect.height) / 2;

  gtk_snapshot_render_layout (snapshot, context, label_x, label_y, priv->on_layout);

  pango_layout_get_pixel_extents (priv->off_layout, NULL, &rect);

  label_x = x + (width / 2) + ((width / 2) - rect.width) / 2;
  label_y = y + (height - rect.height) / 2;

  gtk_snapshot_render_layout (snapshot, context, label_x, label_y, priv->off_layout);

  gtk_css_gadget_snapshot (priv->slider_gadget, snapshot);

  return FALSE;
}
コード例 #3
0
static void
gtk_level_bar_snapshot (GtkWidget   *widget,
                        GtkSnapshot *snapshot)
{
  GtkLevelBar *self = GTK_LEVEL_BAR (widget);

  gtk_css_gadget_snapshot (self->priv->trough_gadget, snapshot);
}
コード例 #4
0
static void
gtk_level_bar_snapshot_fill_discrete (GtkLevelBar *self,
                                      GtkSnapshot *snapshot)
{
  gint num_blocks, i;

  num_blocks = gtk_level_bar_get_num_blocks (self);

  for (i = 0; i < num_blocks; i++)
    gtk_css_gadget_snapshot (self->priv->block_gadget[i], snapshot);
}
コード例 #5
0
static void
gtk_switch_snapshot (GtkWidget   *widget,
                     GtkSnapshot *snapshot)
{
  gtk_css_gadget_snapshot (GTK_SWITCH (widget)->priv->gadget, snapshot);
}
コード例 #6
0
static void
gtk_button_snapshot (GtkWidget   *widget,
                     GtkSnapshot *snapshot)
{
  gtk_css_gadget_snapshot (GTK_BUTTON (widget)->priv->gadget, snapshot);
}