Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(44)

Side by Side Diff: chrome/browser/ui/gtk/notifications/balloon_view_gtk.cc

Issue 8773025: GTK: More removal of raw GtkWidget->allocation access. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Created 9 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « chrome/browser/ui/gtk/nine_box.cc ('k') | chrome/browser/ui/gtk/status_bubble_gtk.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/ui/gtk/notifications/balloon_view_gtk.h" 5 #include "chrome/browser/ui/gtk/notifications/balloon_view_gtk.h"
6 6
7 #include <gtk/gtk.h> 7 #include <gtk/gtk.h>
8 8
9 #include <string> 9 #include <string>
10 #include <vector> 10 #include <vector>
(...skipping 399 matching lines...) Expand 10 before | Expand all | Expand 10 after
410 410
411 // We draw black dots on the bottom left and right corners to fill in the 411 // We draw black dots on the bottom left and right corners to fill in the
412 // border. Otherwise, the border has a gap because the sharp corners of the 412 // border. Otherwise, the border has a gap because the sharp corners of the
413 // HTML view cut off the roundedness of the notification window. 413 // HTML view cut off the roundedness of the notification window.
414 gboolean BalloonViewImpl::OnContentsExpose(GtkWidget* sender, 414 gboolean BalloonViewImpl::OnContentsExpose(GtkWidget* sender,
415 GdkEventExpose* event) { 415 GdkEventExpose* event) {
416 cairo_t* cr = gdk_cairo_create(GDK_DRAWABLE(sender->window)); 416 cairo_t* cr = gdk_cairo_create(GDK_DRAWABLE(sender->window));
417 gdk_cairo_rectangle(cr, &event->area); 417 gdk_cairo_rectangle(cr, &event->area);
418 cairo_clip(cr); 418 cairo_clip(cr);
419 419
420 GtkAllocation allocation;
421 gtk_widget_get_allocation(sender, &allocation);
422
420 // According to a discussion on a mailing list I found, these degenerate 423 // According to a discussion on a mailing list I found, these degenerate
421 // paths are the officially supported way to draw points in Cairo. 424 // paths are the officially supported way to draw points in Cairo.
422 cairo_set_source_rgb(cr, 0, 0, 0); 425 cairo_set_source_rgb(cr, 0, 0, 0);
423 cairo_set_line_cap(cr, CAIRO_LINE_CAP_ROUND); 426 cairo_set_line_cap(cr, CAIRO_LINE_CAP_ROUND);
424 cairo_set_line_width(cr, 1.0); 427 cairo_set_line_width(cr, 1.0);
425 cairo_move_to(cr, 0.5, sender->allocation.height - 0.5); 428 cairo_move_to(cr, 0.5, allocation.height - 0.5);
426 cairo_close_path(cr); 429 cairo_close_path(cr);
427 cairo_move_to(cr, sender->allocation.width - 0.5, 430 cairo_move_to(cr, allocation.width - 0.5, allocation.height - 0.5);
428 sender->allocation.height - 0.5);
429 cairo_close_path(cr); 431 cairo_close_path(cr);
430 cairo_stroke(cr); 432 cairo_stroke(cr);
431 cairo_destroy(cr); 433 cairo_destroy(cr);
432 434
433 return FALSE; 435 return FALSE;
434 } 436 }
435 437
436 gboolean BalloonViewImpl::OnExpose(GtkWidget* sender, GdkEventExpose* event) { 438 gboolean BalloonViewImpl::OnExpose(GtkWidget* sender, GdkEventExpose* event) {
437 cairo_t* cr = gdk_cairo_create(GDK_DRAWABLE(sender->window)); 439 cairo_t* cr = gdk_cairo_create(GDK_DRAWABLE(sender->window));
438 gdk_cairo_rectangle(cr, &event->area); 440 gdk_cairo_rectangle(cr, &event->area);
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
477 weak_factory_.GetWeakPtr(), 479 weak_factory_.GetWeakPtr(),
478 false)); 480 false));
479 } 481 }
480 } 482 }
481 483
482 gboolean BalloonViewImpl::OnDestroy(GtkWidget* widget) { 484 gboolean BalloonViewImpl::OnDestroy(GtkWidget* widget) {
483 frame_container_ = NULL; 485 frame_container_ = NULL;
484 Close(false); 486 Close(false);
485 return FALSE; // Propagate. 487 return FALSE; // Propagate.
486 } 488 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/gtk/nine_box.cc ('k') | chrome/browser/ui/gtk/status_bubble_gtk.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698