8ba84881e79b6175868d04179ca86f4823a69ec0Liam P. White * Theodore Janeczko
8ba84881e79b6175868d04179ca86f4823a69ec0Liam P. White * Copyright (C) Theodore Janeczko 2012 <flutterguy317@gmail.com>
8ba84881e79b6175868d04179ca86f4823a69ec0Liam P. White * Released under GNU GPL, read the file 'COPYING' for more information
8ba84881e79b6175868d04179ca86f4823a69ec0Liam P. White _pixClipName(INKSCAPE_ICON("path-intersection")),
8ba84881e79b6175868d04179ca86f4823a69ec0Liam P. White _pixInverseName(INKSCAPE_ICON("path-difference")),
8ba84881e79b6175868d04179ca86f4823a69ec0Liam P. White _pixMaskName(INKSCAPE_ICON("mask-intersection")),
8ba84881e79b6175868d04179ca86f4823a69ec0Liam P. White _property_pixbuf_clip(*this, "pixbuf_on", Glib::RefPtr<Gdk::Pixbuf>(0)),
8ba84881e79b6175868d04179ca86f4823a69ec0Liam P. White _property_pixbuf_inverse(*this, "pixbuf_on", Glib::RefPtr<Gdk::Pixbuf>(0)),
8ba84881e79b6175868d04179ca86f4823a69ec0Liam P. White _property_pixbuf_mask(*this, "pixbuf_off", Glib::RefPtr<Gdk::Pixbuf>(0))
8ba84881e79b6175868d04179ca86f4823a69ec0Liam P. White property_mode() = Gtk::CELL_RENDERER_MODE_ACTIVATABLE;
8ba84881e79b6175868d04179ca86f4823a69ec0Liam P. White phys = sp_icon_get_phys_size((int)Inkscape::ICON_SIZE_DECORATION);
8ba84881e79b6175868d04179ca86f4823a69ec0Liam P. White Glib::RefPtr<Gtk::IconTheme> icon_theme = Gtk::IconTheme::get_default();
8ba84881e79b6175868d04179ca86f4823a69ec0Liam P. White Inkscape::queueIconPrerender( INKSCAPE_ICON(_pixClipName.data()), Inkscape::ICON_SIZE_DECORATION );
8ba84881e79b6175868d04179ca86f4823a69ec0Liam P. White Inkscape::queueIconPrerender( INKSCAPE_ICON(_pixInverseName.data()), Inkscape::ICON_SIZE_DECORATION );
8ba84881e79b6175868d04179ca86f4823a69ec0Liam P. White Inkscape::queueIconPrerender( INKSCAPE_ICON(_pixMaskName.data()), Inkscape::ICON_SIZE_DECORATION );
8ba84881e79b6175868d04179ca86f4823a69ec0Liam P. White _property_pixbuf_clip = icon_theme->load_icon(_pixClipName, phys, (Gtk::IconLookupFlags)0);
8ba84881e79b6175868d04179ca86f4823a69ec0Liam P. White _property_pixbuf_inverse = icon_theme->load_icon(_pixInverseName, phys, (Gtk::IconLookupFlags)0);
8ba84881e79b6175868d04179ca86f4823a69ec0Liam P. White _property_pixbuf_mask = icon_theme->load_icon(_pixMaskName, phys, (Gtk::IconLookupFlags)0);
8ba84881e79b6175868d04179ca86f4823a69ec0Liam P. White property_pixbuf() = Glib::RefPtr<Gdk::Pixbuf>(0);
8ba84881e79b6175868d04179ca86f4823a69ec0Liam P. Whitevoid ClipMaskIcon::get_preferred_height_vfunc(Gtk::Widget& widget,
8ba84881e79b6175868d04179ca86f4823a69ec0Liam P. White Gtk::CellRendererPixbuf::get_preferred_height_vfunc(widget, min_h, nat_h);
8ba84881e79b6175868d04179ca86f4823a69ec0Liam P. Whitevoid ClipMaskIcon::get_preferred_width_vfunc(Gtk::Widget& widget,
8ba84881e79b6175868d04179ca86f4823a69ec0Liam P. White Gtk::CellRendererPixbuf::get_preferred_width_vfunc(widget, min_w, nat_w);
8ba84881e79b6175868d04179ca86f4823a69ec0Liam P. Whitevoid ClipMaskIcon::get_size_vfunc(Gtk::Widget& widget,
8ba84881e79b6175868d04179ca86f4823a69ec0Liam P. White Gtk::CellRendererPixbuf::get_size_vfunc( widget, cell_area, x_offset, y_offset, width, height );
8ba84881e79b6175868d04179ca86f4823a69ec0Liam P. Whitevoid ClipMaskIcon::render_vfunc( const Cairo::RefPtr<Cairo::Context>& cr,
8ba84881e79b6175868d04179ca86f4823a69ec0Liam P. Whitevoid ClipMaskIcon::render_vfunc( const Glib::RefPtr<Gdk::Drawable>& window,
8ba84881e79b6175868d04179ca86f4823a69ec0Liam P. White property_pixbuf() = Glib::RefPtr<Gdk::Pixbuf>(0);
8ba84881e79b6175868d04179ca86f4823a69ec0Liam P. White Gtk::CellRendererPixbuf::render_vfunc( cr, widget, background_area, cell_area, flags );
8ba84881e79b6175868d04179ca86f4823a69ec0Liam P. White Gtk::CellRendererPixbuf::render_vfunc( window, widget, background_area, cell_area, expose_area, flags );
777bbe32326f8cdbebf76ab0b898e65105e8ccf3Jon A. Cruzbool ClipMaskIcon::activate_vfunc(GdkEvent* /*event*/,
8ba84881e79b6175868d04179ca86f4823a69ec0Liam P. White return false;
8ba84881e79b6175868d04179ca86f4823a69ec0Liam P. White} // namespace Widget
8ba84881e79b6175868d04179ca86f4823a69ec0Liam P. White} // namespace UI
8ba84881e79b6175868d04179ca86f4823a69ec0Liam P. White} // namespace Inkscape
8ba84881e79b6175868d04179ca86f4823a69ec0Liam P. White Local Variables:
8ba84881e79b6175868d04179ca86f4823a69ec0Liam P. White c-file-style:"stroustrup"
8ba84881e79b6175868d04179ca86f4823a69ec0Liam P. White c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
8ba84881e79b6175868d04179ca86f4823a69ec0Liam P. White indent-tabs-mode:nil
8ba84881e79b6175868d04179ca86f4823a69ec0Liam P. White fill-column:99
8ba84881e79b6175868d04179ca86f4823a69ec0Liam P. White// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:fileencoding=utf-8:textwidth=99 :