Merge lp:~cimi/overlay-scrollbar/new-locked-mode into lp:overlay-scrollbar

Proposed by Andrea Cimitan
Status: Merged
Approved by: Ted Gould
Approved revision: 320
Merged at revision: 318
Proposed branch: lp:~cimi/overlay-scrollbar/new-locked-mode
Merge into: lp:overlay-scrollbar
Diff against target: 67 lines (+25/-4)
1 file modified
os/os-scrollbar.c (+25/-4)
To merge this branch: bzr merge lp:~cimi/overlay-scrollbar/new-locked-mode
Reviewer Review Type Date Requested Status
Ted Gould (community) Approve
Review via email: mp+84017@code.launchpad.net

Description of the change

Enlarge the proximity area in internal mode, and unset the state flag on unmap, might fix possible warnings

To post a comment you must log in.
Revision history for this message
Ted Gould (ted) :
review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'os/os-scrollbar.c'
--- os/os-scrollbar.c 2011-11-30 16:30:54 +0000
+++ os/os-scrollbar.c 2011-11-30 21:22:24 +0000
@@ -2068,6 +2068,7 @@
20682068
2069 priv->event = OS_EVENT_NONE;2069 priv->event = OS_EVENT_NONE;
2070 priv->hidable_thumb = TRUE;2070 priv->hidable_thumb = TRUE;
2071 priv->state &= OS_STATE_FULLSIZE;
20712072
2072 /* Remove running hide timeout, if there is one. */2073 /* Remove running hide timeout, if there is one. */
2073 if (priv->source_hide_thumb_id != 0)2074 if (priv->source_hide_thumb_id != 0)
@@ -2316,31 +2317,51 @@
2316 gint y)2317 gint y)
2317{2318{
2318 OsScrollbarPrivate *priv;2319 OsScrollbarPrivate *priv;
2320 gint proximity_size;
23192321
2320 priv = scrollbar->priv;2322 priv = scrollbar->priv;
23212323
2324 proximity_size = PROXIMITY_SIZE;
2325
2326 /* If the thumb is internal, enlarge the proximity area. */
2327 if (priv->state & OS_STATE_INTERNAL)
2328 {
2329 gint x_pos, y_pos;
2330
2331 gdk_window_get_origin (gtk_widget_get_window (priv->thumb), &x_pos, &y_pos);
2332
2333 /* This absolute value to add is obtained subtracting
2334 * the real position of the thumb from the theoretical position.
2335 * This difference should consist exactly in the amount of pixels (of the thumb)
2336 * falling in the proximity, that is the value we want to enlarge this area. */
2337 if (priv->orientation == GTK_ORIENTATION_VERTICAL)
2338 proximity_size += abs (priv->thumb_win.x - x_pos);
2339 else
2340 proximity_size += abs (priv->thumb_win.y - y_pos);
2341 }
2342
2322 switch (priv->side)2343 switch (priv->side)
2323 {2344 {
2324 case OS_SIDE_RIGHT:2345 case OS_SIDE_RIGHT:
2325 return (x >= priv->bar_all.x + priv->bar_all.width - PROXIMITY_SIZE &&2346 return (x >= priv->bar_all.x + priv->bar_all.width - proximity_size &&
2326 x <= priv->bar_all.x + priv->bar_all.width) &&2347 x <= priv->bar_all.x + priv->bar_all.width) &&
2327 (y >= priv->bar_all.y &&2348 (y >= priv->bar_all.y &&
2328 y <= priv->bar_all.y + priv->bar_all.height);2349 y <= priv->bar_all.y + priv->bar_all.height);
2329 break;2350 break;
2330 case OS_SIDE_BOTTOM:2351 case OS_SIDE_BOTTOM:
2331 return (y >= priv->bar_all.y + priv->bar_all.height - PROXIMITY_SIZE &&2352 return (y >= priv->bar_all.y + priv->bar_all.height - proximity_size &&
2332 y <= priv->bar_all.y + priv->bar_all.height) &&2353 y <= priv->bar_all.y + priv->bar_all.height) &&
2333 (x >= priv->bar_all.x &&2354 (x >= priv->bar_all.x &&
2334 x <= priv->bar_all.x + priv->bar_all.width);2355 x <= priv->bar_all.x + priv->bar_all.width);
2335 break;2356 break;
2336 case OS_SIDE_LEFT:2357 case OS_SIDE_LEFT:
2337 return (x <= priv->bar_all.x + priv->bar_all.width + PROXIMITY_SIZE &&2358 return (x <= priv->bar_all.x + priv->bar_all.width + proximity_size &&
2338 x >= priv->bar_all.x) &&2359 x >= priv->bar_all.x) &&
2339 (y >= priv->bar_all.y &&2360 (y >= priv->bar_all.y &&
2340 y <= priv->bar_all.y + priv->bar_all.height);2361 y <= priv->bar_all.y + priv->bar_all.height);
2341 break;2362 break;
2342 case OS_SIDE_TOP:2363 case OS_SIDE_TOP:
2343 return (y <= priv->bar_all.y + priv->bar_all.height + PROXIMITY_SIZE &&2364 return (y <= priv->bar_all.y + priv->bar_all.height + proximity_size &&
2344 y >= priv->bar_all.y) &&2365 y >= priv->bar_all.y) &&
2345 (x >= priv->bar_all.x &&2366 (x >= priv->bar_all.x &&
2346 x <= priv->bar_all.x + priv->bar_all.width);2367 x <= priv->bar_all.x + priv->bar_all.width);

Subscribers

People subscribed via source and target branches