func (w *Widget) Bounds() (drawing.Rectangle, os.Error) { var r RECT if !GetWindowRect(w.hWnd, &r) { return drawing.Rectangle{}, lastError("GetWindowRect") } b := drawing.Rectangle{X: r.Left, Y: r.Top, Width: r.Right - r.Left, Height: r.Bottom - r.Top} if w.parent != nil { p := POINT{b.X, b.Y} if !ScreenToClient(w.hWnd, &p) { return drawing.Rectangle{}, newError("ScreenToClient failed") } b.X = p.X b.Y = p.Y } return b, nil }