Changeset 422

Show
Ignore:
Timestamp:
02/13/2008 01:39:13 (7 months ago)
Author:
why
Message:
  • shoes/canvas.c: added gutter method for getting the width of the vertical scrollbar.
Location:
trunk/shoes
Files:
3 modified

Legend:

Unmodified
Added
Removed
  • trunk/shoes/canvas.c

    r421 r422  
    195195  SETUP(); 
    196196  return INT2NUM(canvas->fully); 
     197} 
     198 
     199VALUE 
     200shoes_canvas_get_gutter_width(VALUE self) 
     201{ 
     202  int scrollwidth = 0; 
     203  GET_STRUCT(canvas, canvas); 
     204#ifdef SHOES_WIN32 
     205  scrollwidth = GetSystemMetrics(SM_CXVSCROLL); 
     206#endif 
     207#ifdef SHOES_QUARTZ 
     208  GetThemeMetric(kThemeMetricScrollBarWidth, &scrollwidth) 
     209#endif 
     210#ifdef SHOES_GTK 
     211  GtkRequisition req; 
     212  GtkWidget *vsb = gtk_scrolled_window_get_vscrollbar(GTK_SCROLLED_WINDOW(canvas->slot.box)); 
     213  gtk_widget_size_request(vsb, &req); 
     214  scrollwidth = req.width; 
     215#endif 
     216  return INT2NUM(scrollwidth); 
    197217} 
    198218 
  • trunk/shoes/canvas.h

    r421 r422  
    257257VALUE shoes_canvas_get_scroll_top(VALUE); 
    258258VALUE shoes_canvas_set_scroll_top(VALUE, VALUE); 
     259VALUE shoes_canvas_get_gutter_width(VALUE); 
    259260VALUE shoes_canvas_nostroke(VALUE); 
    260261VALUE shoes_canvas_stroke(int, VALUE *, VALUE); 
  • trunk/shoes/ruby.h

    r414 r422  
    111111  f("scroll_top", get_scroll_top, 0); \ 
    112112  f("scroll_top=", set_scroll_top, 1); \ 
     113  f("gutter", get_gutter_width, 0); \ 
    113114  f("style", style, -1); \ 
    114115  f("nostroke", nostroke, 0); \