diff options
Diffstat (limited to 'webkit/glue/plugins/quickdraw_drawing_manager_mac.h')
-rw-r--r-- | webkit/glue/plugins/quickdraw_drawing_manager_mac.h | 83 |
1 files changed, 0 insertions, 83 deletions
diff --git a/webkit/glue/plugins/quickdraw_drawing_manager_mac.h b/webkit/glue/plugins/quickdraw_drawing_manager_mac.h deleted file mode 100644 index 8163f92..0000000 --- a/webkit/glue/plugins/quickdraw_drawing_manager_mac.h +++ /dev/null @@ -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 |