OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 #ifndef CHROME_BROWSER_UI_GTK_BROWSER_WINDOW_GTK_H_ | 5 #ifndef CHROME_BROWSER_UI_GTK_BROWSER_WINDOW_GTK_H_ |
6 #define CHROME_BROWSER_UI_GTK_BROWSER_WINDOW_GTK_H_ | 6 #define CHROME_BROWSER_UI_GTK_BROWSER_WINDOW_GTK_H_ |
7 | 7 |
8 #include <gtk/gtk.h> | 8 #include <gtk/gtk.h> |
9 | 9 |
10 #include <string> | 10 #include <string> |
(...skipping 251 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
262 | 262 |
263 // Tells GTK that the toolbar area is invalidated and needs redrawing. We | 263 // Tells GTK that the toolbar area is invalidated and needs redrawing. We |
264 // have this method as a hack because GTK doesn't queue the toolbar area for | 264 // have this method as a hack because GTK doesn't queue the toolbar area for |
265 // redraw when it should. | 265 // redraw when it should. |
266 void QueueToolbarRedraw(); | 266 void QueueToolbarRedraw(); |
267 | 267 |
268 // Get the position where the infobar arrow should be anchored in | 268 // Get the position where the infobar arrow should be anchored in |
269 // |relative_to| coordinates. This is the middle of the omnibox location icon. | 269 // |relative_to| coordinates. This is the middle of the omnibox location icon. |
270 int GetXPositionOfLocationIcon(GtkWidget* relative_to); | 270 int GetXPositionOfLocationIcon(GtkWidget* relative_to); |
271 | 271 |
272 DevToolsDockSide devtools_dock_side() { return devtools_dock_side_; } | |
273 | |
274 protected: | 272 protected: |
275 virtual void DestroyBrowser() OVERRIDE; | 273 virtual void DestroyBrowser() OVERRIDE; |
276 | 274 |
277 // Checks to see if the mouse pointer at |x|, |y| is over the border of the | 275 // Checks to see if the mouse pointer at |x|, |y| is over the border of the |
278 // custom frame (a spot that should trigger a window resize). Returns true if | 276 // custom frame (a spot that should trigger a window resize). Returns true if |
279 // it should and sets |edge|. | 277 // it should and sets |edge|. |
280 bool GetWindowEdge(int x, int y, GdkWindowEdge* edge); | 278 bool GetWindowEdge(int x, int y, GdkWindowEdge* edge); |
281 | 279 |
282 // Returns the window shape for the window with |width| and |height|. | 280 // Returns the window shape for the window with |width| and |height|. |
283 // The caller is responsible for destroying the region if non-null region is | 281 // The caller is responsible for destroying the region if non-null region is |
284 // returned. | 282 // returned. |
285 GdkRegion* GetWindowShape(int width, int height) const; | 283 GdkRegion* GetWindowShape(int width, int height) const; |
286 | 284 |
287 // Save the window position in the prefs. | 285 // Save the window position in the prefs. |
288 void SaveWindowPosition(); | 286 void SaveWindowPosition(); |
289 | 287 |
290 // Sets the default size for the window and the way the user is allowed to | 288 // Sets the default size for the window and the way the user is allowed to |
291 // resize it. | 289 // resize it. |
292 void SetGeometryHints(); | 290 void SetGeometryHints(); |
293 | 291 |
294 // Returns |true| if we should use the custom frame. | 292 // Returns |true| if we should use the custom frame. |
295 bool UseCustomFrame() const; | 293 bool UseCustomFrame() const; |
296 | 294 |
297 // Invalidate window to force repaint. | 295 // Invalidate window to force repaint. |
298 void InvalidateWindow(); | 296 void InvalidateWindow(); |
299 | 297 |
300 // Top level window. | 298 // Top level window. |
301 GtkWindow* window_; | 299 GtkWindow* window_; |
302 // Determines whether window was shown. | |
303 bool window_has_shown_; | |
304 // GtkAlignment that holds the interior components of the chromium window. | 300 // GtkAlignment that holds the interior components of the chromium window. |
305 // This is used to draw the custom frame border and content shadow. | 301 // This is used to draw the custom frame border and content shadow. |
306 GtkWidget* window_container_; | 302 GtkWidget* window_container_; |
307 // VBox that holds everything (tabs, toolbar, bookmarks bar, tab contents). | 303 // VBox that holds everything (tabs, toolbar, bookmarks bar, tab contents). |
308 GtkWidget* window_vbox_; | 304 GtkWidget* window_vbox_; |
309 // VBox that holds everything below the toolbar. | 305 // VBox that holds everything below the toolbar. |
310 GtkWidget* render_area_vbox_; | 306 GtkWidget* render_area_vbox_; |
311 // Floating container that holds the render area. It is needed to position | 307 // Floating container that holds the render area. It is needed to position |
312 // the findbar. | 308 // the findbar. |
313 GtkWidget* render_area_floating_container_; | 309 GtkWidget* render_area_floating_container_; |
(...skipping 239 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
553 scoped_ptr<FullscreenExitBubbleGtk> fullscreen_exit_bubble_; | 549 scoped_ptr<FullscreenExitBubbleGtk> fullscreen_exit_bubble_; |
554 | 550 |
555 FullscreenExitBubbleType fullscreen_exit_bubble_type_; | 551 FullscreenExitBubbleType fullscreen_exit_bubble_type_; |
556 | 552 |
557 content::NotificationRegistrar registrar_; | 553 content::NotificationRegistrar registrar_; |
558 | 554 |
559 DISALLOW_COPY_AND_ASSIGN(BrowserWindowGtk); | 555 DISALLOW_COPY_AND_ASSIGN(BrowserWindowGtk); |
560 }; | 556 }; |
561 | 557 |
562 #endif // CHROME_BROWSER_UI_GTK_BROWSER_WINDOW_GTK_H_ | 558 #endif // CHROME_BROWSER_UI_GTK_BROWSER_WINDOW_GTK_H_ |
OLD | NEW |