aboutsummaryrefslogtreecommitdiffhomepage
path: root/ide/ideutils.ml
diff options
context:
space:
mode:
authorGravatar gareuselesinge <gareuselesinge@85f007b7-540e-0410-9357-904b9bb8a0f7>2013-10-22 09:22:07 +0000
committerGravatar gareuselesinge <gareuselesinge@85f007b7-540e-0410-9357-904b9bb8a0f7>2013-10-22 09:22:07 +0000
commit060e70d3103aefa436718c667fc004769387bb71 (patch)
tree0efdb30f496b85f12f424f519d42993390957af6 /ide/ideutils.ml
parent9ba95f69547a20f9b96761cf01ec6d1dfd2dd5ca (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.ml14
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