diff options
author | 2013-10-22 09:22:07 +0000 | |
---|---|---|
committer | 2013-10-22 09:22:07 +0000 | |
commit | 060e70d3103aefa436718c667fc004769387bb71 (patch) | |
tree | 0efdb30f496b85f12f424f519d42993390957af6 /ide/ideutils.ml | |
parent | 9ba95f69547a20f9b96761cf01ec6d1dfd2dd5ca (diff) |
ideutils: support custom size for stock icons
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@16896 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'ide/ideutils.ml')
-rw-r--r-- | ide/ideutils.ml | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/ide/ideutils.ml b/ide/ideutils.ml index 0ef39f8ed..881f5ea43 100644 --- a/ide/ideutils.ml +++ b/ide/ideutils.ml @@ -217,8 +217,18 @@ let find_tag_limits (tag :GText.tag) (it:GText.iter) = (find_tag_start tag it , find_tag_stop tag it) let stock_to_widget ?(size=`BUTTON) s = - let img = GMisc.image ~icon_size:size () in - img#set_stock s; + let img = GMisc.image () in + (match size with + | `CUSTOM(width,height) -> + let opb = img#misc#render_icon ~size:`BUTTON s in + let pb = GdkPixbuf.create ~width ~height + ~bits:(GdkPixbuf.get_bits_per_sample opb) + ~has_alpha:(GdkPixbuf.get_has_alpha opb) () in + GdkPixbuf.scale ~width ~height ~dest:pb opb; + img#set_pixbuf pb + | #Gtk.Tags.icon_size as icon_size -> + img#set_stock s; + img#set_icon_size icon_size); img#coerce let custom_coqtop = ref None |