}
namespace Gtkmm2ext {
- void init ();
+ void init (const char*);
+
+ std::string fit_to_pixels (const std::string&, int pixel_width, Pango::FontDescription& font, int& actual_width, bool with_ellipses = false);
+ std::pair<std::string, double> fit_to_pixels (cairo_t *, std::string, double);
+ int pixel_width (const std::string& str, Pango::FontDescription& font);
void get_ink_pixel_size (Glib::RefPtr<Pango::Layout>,
int& width, int& height);
gint hpadding,
gint vpadding);
- Glib::RefPtr<Gdk::Pixbuf> pixbuf_from_string (const std::string& name,
- const Pango::FontDescription& font,
- int clip_width,
- int clip_height,
- Gdk::Color fg);
+ Glib::RefPtr<Gdk::Pixbuf> pixbuf_from_string (const std::string& name,
+ const Pango::FontDescription& font,
+ int clip_width,
+ int clip_height,
+ Gdk::Color fg);
void set_popdown_strings (Gtk::ComboBoxText&,
- const std::vector<std::string>&,
- bool set_size = false,
- gint hpadding = 0, gint vpadding = 0);
-
- // Combo's are stupid - they steal space from the entry for the button
-#ifdef GTKOSX
- static const guint32 COMBO_FUDGE = 38;
-#else
- static const guint32 COMBO_FUDGE = 24;
-#endif
+ const std::vector<std::string>&);
template<class T> void deferred_delete (void *ptr) {
delete static_cast<T *> (ptr);
int physical_screen_width (Glib::RefPtr<Gdk::Window>);
void container_clear (Gtk::Container&);
+
+ /* C++ API for rounded rectangles */
+
void rounded_rectangle (Cairo::RefPtr<Cairo::Context> context, double x, double y, double w, double h, double r=10);
+ void rounded_top_rectangle (Cairo::RefPtr<Cairo::Context> context, double x, double y, double w, double h, double r=10);
+ void rounded_top_left_rectangle (Cairo::RefPtr<Cairo::Context> context, double x, double y, double w, double h, double r=10);
+ void rounded_top_right_rectangle (Cairo::RefPtr<Cairo::Context> context, double x, double y, double w, double h, double r=10);
+ void rounded_top_half_rectangle (Cairo::RefPtr<Cairo::Context>, double x, double y, double w, double h, double r=10);
+ void rounded_bottom_half_rectangle (Cairo::RefPtr<Cairo::Context>, double x, double y, double w, double h, double r=10);
+ void rounded_right_half_rectangle (Cairo::RefPtr<Cairo::Context>, double x, double y, double w, double h, double r=10);
+
+ /* C API for rounded rectangles */
+
+ void rounded_rectangle (cairo_t*, double x, double y, double w, double h, double r=10);
+ void rounded_top_rectangle (cairo_t*, double x, double y, double w, double h, double r=10);
+ void rounded_top_left_rectangle (cairo_t*, double x, double y, double w, double h, double r=10);
+ void rounded_top_right_rectangle (cairo_t*, double x, double y, double w, double h, double r=10);
+ void rounded_top_half_rectangle (cairo_t*, double x, double y, double w, double h, double r=10);
+ void rounded_bottom_half_rectangle (cairo_t*, double x, double y, double w, double h, double r=10);
+ void rounded_right_half_rectangle (cairo_t*, double x, double y, double w, double h, double r=10);
+
+ Gtk::Label* left_aligned_label (std::string const &);
+
+ void set_no_tooltip_whatsoever (Gtk::Widget &);
+ void enable_tooltips ();
+ void disable_tooltips ();
};
#endif /* __gtkmm2ext_utils_h__ */