| Index: base/gfx/native_widget_types.h
|
| ===================================================================
|
| --- base/gfx/native_widget_types.h (revision 28672)
|
| +++ base/gfx/native_widget_types.h (working copy)
|
| @@ -1,143 +0,0 @@
|
| -// Copyright (c) 2008 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -#ifndef BASE_GFX_NATIVE_WIDGET_TYPES_H_
|
| -#define BASE_GFX_NATIVE_WIDGET_TYPES_H_
|
| -
|
| -#include "base/basictypes.h"
|
| -#include "build/build_config.h"
|
| -
|
| -// This file provides cross platform typedefs for native widget types.
|
| -// NativeWindow: this is a handle to a native, top-level window
|
| -// NativeView: this is a handle to a native UI element. It may be the
|
| -// same type as a NativeWindow on some platforms.
|
| -// NativeViewId: Often, in our cross process model, we need to pass around a
|
| -// reference to a "window". This reference will, say, be echoed back from a
|
| -// renderer to the browser when it wishes to query it's size. On Windows, a
|
| -// HWND can be used for this. On other platforms, we may wish to pass
|
| -// around X window ids, or maybe abstract identifiers.
|
| -//
|
| -// As a rule of thumb - if you're in the renderer, you should be dealing
|
| -// with NativeViewIds. This should remind you that you shouldn't be doing
|
| -// direct operations on platform widgets from the renderer process.
|
| -//
|
| -// If you're in the browser, you're probably dealing with NativeViews,
|
| -// unless you're in the IPC layer, which will be translating between
|
| -// NativeViewIds from the renderer and NativeViews.
|
| -//
|
| -// NativeEditView: a handle to a native edit-box. The Mac folks wanted this
|
| -// specific typedef.
|
| -//
|
| -// The name 'View' here meshes with OS X where the UI elements are called
|
| -// 'views' and with our Chrome UI code where the elements are also called
|
| -// 'views'.
|
| -
|
| -#if defined(OS_WIN)
|
| -#include <windows.h>
|
| -#elif defined(OS_MACOSX)
|
| -struct CGContext;
|
| -#ifdef __OBJC__
|
| -@class NSView;
|
| -@class NSWindow;
|
| -@class NSTextField;
|
| -#else
|
| -class NSView;
|
| -class NSWindow;
|
| -class NSTextField;
|
| -#endif // __OBJC__
|
| -#elif defined(USE_X11)
|
| -typedef struct _GdkCursor GdkCursor;
|
| -typedef struct _GtkWidget GtkWidget;
|
| -typedef struct _GtkWindow GtkWindow;
|
| -typedef struct _cairo cairo_t;
|
| -#endif
|
| -
|
| -namespace gfx {
|
| -
|
| -#if defined(OS_WIN)
|
| -typedef HWND NativeView;
|
| -typedef HWND NativeWindow;
|
| -typedef HWND NativeEditView;
|
| -typedef HDC NativeDrawingContext;
|
| -typedef HCURSOR NativeCursor;
|
| -typedef HMENU NativeMenu;
|
| -#elif defined(OS_MACOSX)
|
| -typedef NSView* NativeView;
|
| -typedef NSWindow* NativeWindow;
|
| -typedef NSTextField* NativeEditView;
|
| -typedef CGContext* NativeDrawingContext;
|
| -typedef void* NativeCursor;
|
| -typedef void* NativeMenu;
|
| -#elif defined(USE_X11)
|
| -typedef GtkWidget* NativeView;
|
| -typedef GtkWindow* NativeWindow;
|
| -typedef GtkWidget* NativeEditView;
|
| -typedef cairo_t* NativeDrawingContext;
|
| -typedef GdkCursor* NativeCursor;
|
| -typedef GtkWidget* NativeMenu;
|
| -#endif
|
| -
|
| -// Note: for test_shell we're packing a pointer into the NativeViewId. So, if
|
| -// you make it a type which is smaller than a pointer, you have to fix
|
| -// test_shell.
|
| -//
|
| -// See comment at the top of the file for usage.
|
| -typedef intptr_t NativeViewId;
|
| -
|
| -// Convert a NativeViewId to a NativeView.
|
| -// On Windows, these are both HWNDS so it's just a cast.
|
| -// On Mac, for now, we pass the NSView pointer into the renderer
|
| -// On Linux we use an opaque id
|
| -#if defined(OS_WIN)
|
| -static inline NativeView NativeViewFromId(NativeViewId id) {
|
| - return reinterpret_cast<NativeView>(id);
|
| -}
|
| -#elif defined(OS_MACOSX)
|
| -
|
| -// A recent CL removed the need for Mac to actually convert
|
| -// NativeViewId to NativeView. Until other platforms make changes,
|
| -// the platform-independent code cannot be removed. The following is
|
| -// to discourage new platform-independent uses.
|
| -
|
| -#define NativeViewFromId(x) NATIVE_VIEW_FROM_ID_NOT_AVAILABLE_ON_MAC
|
| -
|
| -#elif defined(USE_X11)
|
| -// A NativeView on Linux is a GtkWidget*. However, we can't go directly from an
|
| -// X window ID to a GtkWidget. Thus, functions which handle NativeViewIds from
|
| -// the renderer have to use Xlib. This is fine since these functions are
|
| -// generally performed on the BACKGROUND_X thread which can't use GTK anyway.
|
| -
|
| -#define NativeViewFromId(x) NATIVE_VIEW_FROM_ID_NOT_AVAILIBLE_ON_X11
|
| -
|
| -#endif // defined(USE_X11)
|
| -
|
| -// Convert a NativeView to a NativeViewId. See the comments above
|
| -// NativeViewFromId.
|
| -#if defined(OS_WIN) || defined(OS_MACOSX)
|
| -static inline NativeViewId IdFromNativeView(NativeView view) {
|
| - return reinterpret_cast<NativeViewId>(view);
|
| -}
|
| -#elif defined(USE_X11)
|
| -// Not inlined because it involves pulling too many headers.
|
| -NativeViewId IdFromNativeView(NativeView view);
|
| -#endif // defined(USE_X11)
|
| -
|
| -
|
| -// PluginWindowHandle is an abstraction wrapping "the types of windows
|
| -// used by NPAPI plugins". On Windows it's an HWND, on X it's an X
|
| -// window id.
|
| -#if defined(OS_WIN)
|
| - typedef HWND PluginWindowHandle;
|
| -#elif defined(USE_X11)
|
| - typedef unsigned long PluginWindowHandle;
|
| -#else
|
| - // On OS X we don't have windowed plugins.
|
| - // We use a NULL/0 PluginWindowHandle in shared code to indicate there
|
| - // is no window present, so mirror that behavior here.
|
| - typedef bool PluginWindowHandle;
|
| -#endif
|
| -
|
| -} // namespace gfx
|
| -
|
| -#endif // BASE_GFX_NATIVE_WIDGET_TYPES_H_
|
|
|