Index: webkit/glue/plugins/quickdraw_drawing_manager_mac.h |
=================================================================== |
--- webkit/glue/plugins/quickdraw_drawing_manager_mac.h (revision 69426) |
+++ webkit/glue/plugins/quickdraw_drawing_manager_mac.h (working copy) |
@@ -1,83 +0,0 @@ |
-// Copyright (c) 2010 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 WEBKIT_GLUE_QUICKDRAW_DRAWING_MANAGER_MAC_H_ |
-#define WEBKIT_GLUE_QUICKDRAW_DRAWING_MANAGER_MAC_H_ |
- |
-#ifndef NP_NO_QUICKDRAW |
- |
-#import <Carbon/Carbon.h> |
- |
-#include "gfx/rect.h" |
- |
-// Plugin helper class encapsulating the details of capturing what a QuickDraw |
-// drawing model plugin draws, then drawing it into a CGContext. |
-class QuickDrawDrawingManager { |
- public: |
- QuickDrawDrawingManager(); |
- ~QuickDrawDrawingManager(); |
- |
- // Sets the mode used for plugin drawing. If enabled is true the plugin draws |
- // into a GWorld that's not connected to a window, otherwise the plugin draws |
- // into our the plugin's dummy window (which is slower, since the call we use |
- // to scrape the window contents is much more expensive than copying between |
- // GWorlds). |
- void SetFastPathEnabled(bool enabled); |
- |
- // Returns true if the fast path is currently enabled. |
- bool IsFastPathEnabled(); |
- |
- // Sets the context that the plugin bits should be copied into when |
- // UpdateContext is called. This object does not retain |context|, so the |
- // caller must call SetTargetContext again if the context changes. |
- // If the fast path is currently enabled, this call will cause the port to |
- // change. |
- void SetTargetContext(CGContextRef context, const gfx::Size& plugin_size); |
- |
- // Sets the window that is used by the plugin. This object does not own the |
- // window, so the caler must call SetPluginWindow again if the window changes. |
- void SetPluginWindow(WindowRef window); |
- |
- // Updates the target context with the current plugin bits. |
- void UpdateContext(); |
- |
- // Returns the port that the plugin should draw into. This returned port is |
- // only valid until the next call to SetFastPathEnabled (or SetTargetContext |
- // while the fast path is enabled). |
- CGrafPtr port() { return current_port_; } |
- |
- // Makes the QuickDraw port current; should be called before calls where the |
- // plugin might draw. |
- void MakePortCurrent(); |
- |
- private: |
- // Updates the GWorlds used by the faster path. |
- void UpdateGWorlds(); |
- |
- // Deletes the GWorlds used by the faster path. |
- void DestroyGWorlds(); |
- |
- // Scrapes the contents of the window into the given context. |
- // Used for the slower path. |
- static void ScrapeWindow(WindowRef window, CGContextRef target_context, |
- const gfx::Size& plugin_size); |
- |
- // Copies the source GWorld's bits into the target GWorld. |
- // Used for the faster path. |
- static void CopyGWorldBits(GWorldPtr source, GWorldPtr dest, |
- const gfx::Size& plugin_size); |
- |
- WindowRef plugin_window_; // Weak reference. |
- CGContextRef target_context_; // Weak reference. |
- gfx::Size plugin_size_; |
- bool fast_path_enabled_; |
- CGrafPtr current_port_; |
- // Variables used for the faster path: |
- GWorldPtr target_world_; // Created lazily; may be NULL. |
- GWorldPtr plugin_world_; // Created lazily; may be NULL. |
-}; |
- |
-#endif // !NP_NO_QUICKDRAW |
- |
-#endif // QUICKDRAW_DRAWING_MANAGER_MAC |