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
3// found in the LICENSE file.
4
5#ifndef UI_BASE_GTK_GTK_SCREEN_UTILS_H_
6#define UI_BASE_GTK_GTK_SCREEN_UTILS_H_
7
8#include <gtk/gtk.h>
9
10#include "ui/base/ui_export.h"
11#include "ui/gfx/point.h"
12#include "ui/gfx/rect.h"
13#include "ui/gfx/vector2d.h"
14
15namespace ui {
16
17// Returns true if the screen is composited, false otherwise.
18UI_EXPORT bool IsScreenComposited();
19
20// Get the current location of the mouse cursor relative to the screen.
21UI_EXPORT gfx::Point ScreenPoint(GtkWidget* widget);
22
23// Get the current location of the mouse cursor relative to the widget.
24UI_EXPORT gfx::Point ClientPoint(GtkWidget* widget);
25
26// Gets the offset of a gtk widget from the origin in screen coordinates.
27UI_EXPORT gfx::Vector2d GetWidgetScreenOffset(GtkWidget* widget);
28
29// Returns the bounds of the specified widget in screen coordinates.
30UI_EXPORT gfx::Rect GetWidgetScreenBounds(GtkWidget* widget);
31
32}  // namespace ui
33
34#endif  // UI_BASE_GTK_GTK_SCREEN_UTILS_H_
35