#include <stdlib.h>
#include <gtk/gtk.h> /* To define GTK_CHECK_VERSION */
+#include "main.h"
#include "cellrenderericon.h"
#include "intl.h"
static void gqv_cell_renderer_icon_class_init_wrapper(void *, void *);
static void gqv_cell_renderer_icon_class_init(GQvCellRendererIconClass *class);
static void gqv_cell_renderer_icon_finalize(GObject *object);
-#if GTK_CHECK_VERSION(3,0,0)
static void gqv_cell_renderer_icon_get_size(GtkCellRenderer *cell,
GtkWidget *widget,
const GdkRectangle *rectangle,
gint *y_offset,
gint *width,
gint *height);
-#else
-static void gqv_cell_renderer_icon_get_size(GtkCellRenderer *cell,
- GtkWidget *widget,
- GdkRectangle *rectangle,
- gint *x_offset,
- gint *y_offset,
- gint *width,
- gint *height);
-#endif
-#if GTK_CHECK_VERSION(3,0,0)
+
static void gqv_cell_renderer_icon_render(GtkCellRenderer *cell,
cairo_t *cr,
GtkWidget *widget,
const GdkRectangle *background_area,
const GdkRectangle *cell_area,
GtkCellRendererState flags);
-#else
-static void gqv_cell_renderer_icon_render(GtkCellRenderer *cell,
- GdkWindow *window,
- GtkWidget *widget,
- GdkRectangle *background_area,
- GdkRectangle *cell_area,
- GdkRectangle *expose_area,
- GtkCellRendererState flags);
-#endif
-
-
-#if GTK_CHECK_VERSION(3,0,0)
+
static gboolean gqv_cell_renderer_icon_activate(GtkCellRenderer *cell,
GdkEvent *event,
GtkWidget *widget,
const GdkRectangle *background_area,
const GdkRectangle *cell_area,
GtkCellRendererState flags);
-#else
-static gboolean gqv_cell_renderer_icon_activate(GtkCellRenderer *cell,
- GdkEvent *event,
- GtkWidget *widget,
- const gchar *path,
- GdkRectangle *background_area,
- GdkRectangle *cell_area,
- GtkCellRendererState flags);
-#endif
-
enum {
TOGGLED,
LAST_SIGNAL
}
static void
-gqv_cell_renderer_icon_init_wrapper(void *data, void *user_data)
+gqv_cell_renderer_icon_init_wrapper(void *data, void *UNUSED(user_data))
{
gqv_cell_renderer_icon_init(data);
}
}
static void
-gqv_cell_renderer_icon_class_init_wrapper(void *data, void *user_data)
+gqv_cell_renderer_icon_class_init_wrapper(void *data, void *UNUSED(user_data))
{
gqv_cell_renderer_icon_class_init(data);
}
return g_object_new(GQV_TYPE_CELL_RENDERER_ICON, NULL);
}
-#if GTK_CHECK_VERSION(3,0,0)
static void gqv_cell_renderer_icon_get_size(GtkCellRenderer *cell,
GtkWidget *widget,
const GdkRectangle *cell_area,
gint *y_offset,
gint *width,
gint *height)
-#else
-static void gqv_cell_renderer_icon_get_size(GtkCellRenderer *cell,
- GtkWidget *widget,
- GdkRectangle *cell_area,
- gint *x_offset,
- gint *y_offset,
- gint *width,
- gint *height)
-#endif
{
GQvCellRendererIcon *cellicon = (GQvCellRendererIcon *) cell;
gint calc_width;
if (height) *height = calc_height;
}
-#if GTK_CHECK_VERSION(3,0,0)
static void gqv_cell_renderer_icon_render(GtkCellRenderer *cell,
cairo_t *cr,
GtkWidget *widget,
- const GdkRectangle *background_area,
+ const GdkRectangle *UNUSED(background_area),
const GdkRectangle *cell_area,
GtkCellRendererState flags)
{
GtkStyleContext *context = gtk_widget_get_style_context(widget);
-#else
-static void
-gqv_cell_renderer_icon_render(GtkCellRenderer *cell,
- GdkWindow *window,
- GtkWidget *widget,
- GdkRectangle *background_area,
- GdkRectangle *cell_area,
- GdkRectangle *expose_area,
- GtkCellRendererState flags)
-
-{
- cairo_t *cr = gdk_cairo_create(window);
-#endif
GQvCellRendererIcon *cellicon = (GQvCellRendererIcon *) cell;
GdkPixbuf *pixbuf;
const gchar *text;
GdkRectangle cell_rect;
-#if GTK_CHECK_VERSION(3,0,0)
GtkStateFlags state;
-#else
- GtkStateType state;
-#endif
gint xpad, ypad;
pixbuf = cellicon->pixbuf;
text = cellicon->text;
- if (!pixbuf && !text)
- {
-#if !GTK_CHECK_VERSION(3,0,0)
- cairo_destroy(cr);
-#endif
- return;
- }
-
gtk_cell_renderer_get_padding(cell, &xpad, &ypad);
gqv_cell_renderer_icon_get_size(cell, widget, cell_area,
if ((flags & GTK_CELL_RENDERER_SELECTED) == GTK_CELL_RENDERER_SELECTED)
{
if (gtk_widget_has_focus(widget))
-#if GTK_CHECK_VERSION(3,0,0)
state = GTK_STATE_FLAG_SELECTED;
else
state = GTK_STATE_FLAG_ACTIVE;
-#else
- state = GTK_STATE_SELECTED;
- else
- state = GTK_STATE_ACTIVE;
-#endif
}
else
{
if (gtk_widget_get_state(widget) == GTK_STATE_INSENSITIVE)
-#if GTK_CHECK_VERSION(3,0,0)
state = GTK_STATE_FLAG_INSENSITIVE;
else
state = GTK_STATE_FLAG_NORMAL;
-#else
- state = GTK_STATE_INSENSITIVE;
- else
- state = GTK_STATE_NORMAL;
-#endif
}
-
-#if GTK_CHECK_VERSION(3,0,0)
gtk_style_context_set_state(context, state);
-#endif
if (pixbuf)
{
pix_rect.y = cell_area->y + cell_rect.y;
}
- if (gdk_rectangle_intersect(cell_area, &pix_rect, &draw_rect)
-#if !GTK_CHECK_VERSION(3,0,0)
- && gdk_rectangle_intersect(expose_area, &draw_rect, &draw_rect)
-#endif
- )
+ if (gdk_rectangle_intersect(cell_area, &pix_rect, &draw_rect))
{
gdk_cairo_set_source_pixbuf(cr, pixbuf, pix_rect.x, pix_rect.y);
cairo_rectangle (cr,
pix_rect.y -= TOGGLE_SPACING;
}
- if (gdk_rectangle_intersect(cell_area, &pix_rect, &draw_rect)
-#if !GTK_CHECK_VERSION(3,0,0)
- && gdk_rectangle_intersect(expose_area, &draw_rect, &draw_rect)
-#endif
- )
+ if (gdk_rectangle_intersect(cell_area, &pix_rect, &draw_rect))
{
-#if GTK_CHECK_VERSION(3,0,0)
gtk_render_layout(context, cr, pix_rect.x - text_rect.x, pix_rect.y, layout);
-#else
-
- gtk_paint_layout(gtk_widget_get_style(widget), window,
- state, TRUE,
- cell_area, widget,
- "cellrenderertext",
- pix_rect.x - text_rect.x, pix_rect.y,
- layout);
-#endif
}
g_object_unref(layout);
}
pix_rect.x = cell_area->x + xpad + (cell_rect.width - pix_rect.width + 1) / 2 + (TOGGLE_SPACING - TOGGLE_WIDTH) / 2;
pix_rect.y = cell_area->y + ypad + (cell_rect.height - pix_rect.height) + (TOGGLE_SPACING - TOGGLE_WIDTH) / 2;
- if (gdk_rectangle_intersect(cell_area, &pix_rect, &draw_rect)
-#if !GTK_CHECK_VERSION(3,0,0)
- && gdk_rectangle_intersect(expose_area, &draw_rect, &draw_rect)
-#endif
- )
+ if (gdk_rectangle_intersect(cell_area, &pix_rect, &draw_rect))
{
for (i = 0; i < cellicon->num_marks; i++)
{
-#if GTK_CHECK_VERSION(3,0,0)
-#if GTK_CHECK_VERSION(3,14,0)
state &= ~(GTK_STATE_FLAG_CHECKED);
if ((cellicon->marks & (1 << i)))
state |= GTK_STATE_FLAG_CHECKED;
-#else
- state &= ~(GTK_STATE_FLAG_ACTIVE);
-
- if ((cellicon->marks & (1 << i)))
- state |= GTK_STATE_FLAG_ACTIVE;
-#endif
cairo_save (cr);
cairo_rectangle(cr,
}
gtk_style_context_restore(context);
cairo_restore(cr);
-
-#else
- gtk_paint_check(gtk_widget_get_style(widget), window,
- state, (cellicon->marks & (1 << i)) ? GTK_SHADOW_IN : GTK_SHADOW_OUT,
- cell_area, widget, "cellcheck",
- pix_rect.x + i * TOGGLE_SPACING + (TOGGLE_WIDTH - TOGGLE_SPACING) / 2,
- pix_rect.y,
- TOGGLE_WIDTH, TOGGLE_WIDTH);
-#endif
}
}
}
-
-#if !GTK_CHECK_VERSION(3,0,0)
- if (cellicon->focused && gtk_widget_has_focus(widget))
- {
- gtk_paint_focus(gtk_widget_get_style(widget), window,
- state,
- cell_area, widget,
- "cellrendererfocus",
- cell_area->x, cell_area->y,
- cell_area->width, cell_area->height);
- }
- cairo_destroy(cr);
-#endif
}
-#if GTK_CHECK_VERSION(3,0,0)
static gboolean gqv_cell_renderer_icon_activate(GtkCellRenderer *cell,
GdkEvent *event,
GtkWidget *widget,
const gchar *path,
- const GdkRectangle *background_area,
+ const GdkRectangle *UNUSED(background_area),
const GdkRectangle *cell_area,
- GtkCellRendererState flags)
-#else
-static gboolean gqv_cell_renderer_icon_activate(GtkCellRenderer *cell,
- GdkEvent *event,
- GtkWidget *widget,
- const gchar *path,
- GdkRectangle *background_area,
- GdkRectangle *cell_area,
- GtkCellRendererState flags)
-#endif
+ GtkCellRendererState UNUSED(flags))
{
GQvCellRendererIcon *cellicon = (GQvCellRendererIcon *) cell;
GdkEventButton *bevent = &event->button;