| OLD | NEW | 
|---|
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 UI_GFX_CANVAS_SKIA_H_ | 5 #ifndef UI_GFX_CANVAS_SKIA_H_ | 
| 6 #define UI_GFX_CANVAS_SKIA_H_ | 6 #define UI_GFX_CANVAS_SKIA_H_ | 
| 7 #pragma once | 7 #pragma once | 
| 8 | 8 | 
| 9 #include "base/basictypes.h" | 9 #include "base/basictypes.h" | 
|  | 10 #include "base/compiler_specific.h" | 
| 10 #include "base/memory/scoped_ptr.h" | 11 #include "base/memory/scoped_ptr.h" | 
| 11 #include "base/string16.h" | 12 #include "base/string16.h" | 
| 12 #include "skia/ext/platform_canvas.h" | 13 #include "skia/ext/platform_canvas.h" | 
| 13 #include "ui/gfx/canvas.h" | 14 #include "ui/gfx/canvas.h" | 
| 14 | 15 | 
| 15 #if defined(TOOLKIT_USES_GTK) | 16 #if defined(TOOLKIT_USES_GTK) | 
| 16 typedef struct _GdkPixbuf GdkPixbuf; | 17 typedef struct _GdkPixbuf GdkPixbuf; | 
| 17 #endif | 18 #endif | 
| 18 | 19 | 
| 19 namespace gfx { | 20 namespace gfx { | 
| (...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 87                           const SkColor& text_color, | 88                           const SkColor& text_color, | 
| 88                           const SkColor& halo_color, | 89                           const SkColor& halo_color, | 
| 89                           int x, int y, int w, int h, | 90                           int x, int y, int w, int h, | 
| 90                           int flags); | 91                           int flags); | 
| 91 #endif | 92 #endif | 
| 92 | 93 | 
| 93   // Extracts a bitmap from the contents of this canvas. | 94   // Extracts a bitmap from the contents of this canvas. | 
| 94   SkBitmap ExtractBitmap() const; | 95   SkBitmap ExtractBitmap() const; | 
| 95 | 96 | 
| 96   // Overridden from Canvas: | 97   // Overridden from Canvas: | 
| 97   virtual void Save(); | 98   virtual void Save() OVERRIDE; | 
| 98   virtual void SaveLayerAlpha(uint8 alpha); | 99   virtual void SaveLayerAlpha(uint8 alpha) OVERRIDE; | 
| 99   virtual void SaveLayerAlpha(uint8 alpha, const gfx::Rect& layer_bounds); | 100   virtual void SaveLayerAlpha(uint8 alpha, | 
| 100   virtual void Restore(); | 101                               const gfx::Rect& layer_bounds) OVERRIDE; | 
| 101   virtual bool ClipRectInt(int x, int y, int w, int h); | 102   virtual void Restore() OVERRIDE; | 
| 102   virtual void TranslateInt(int x, int y); | 103   virtual bool ClipRectInt(const gfx::Rect& rect) OVERRIDE; | 
| 103   virtual void ScaleInt(int x, int y); | 104   virtual void TranslateInt(int x, int y) OVERRIDE; | 
| 104   virtual void FillRectInt(const SkColor& color, int x, int y, int w, int h); | 105   virtual void ScaleInt(int x, int y) OVERRIDE; | 
| 105   virtual void FillRectInt(const SkColor& color, int x, int y, int w, int h, | 106   virtual void FillRectInt(const SkColor& color, | 
| 106                            SkXfermode::Mode mode); | 107                            int x, int y, int w, int h) OVERRIDE; | 
| 107   virtual void FillRectInt(const gfx::Brush* brush, int x, int y, int w, int h); | 108   virtual void FillRectInt(const SkColor& color, | 
| 108   virtual void DrawRectInt(const SkColor& color, int x, int y, int w, int h); | 109                            int x, int y, int w, int h, | 
|  | 110                            SkXfermode::Mode mode) OVERRIDE; | 
|  | 111   virtual void FillRectInt(const gfx::Brush* brush, | 
|  | 112                            int x, int y, int w, int h) OVERRIDE; | 
|  | 113   virtual void DrawRectInt(const SkColor& color, | 
|  | 114                            int x, int y, int w, int h) OVERRIDE; | 
| 109   virtual void DrawRectInt(const SkColor& color, | 115   virtual void DrawRectInt(const SkColor& color, | 
| 110                            int x, int y, int w, int h, | 116                            int x, int y, int w, int h, | 
| 111                            SkXfermode::Mode mode); | 117                            SkXfermode::Mode mode) OVERRIDE; | 
| 112   virtual void DrawRectInt(int x, int y, int w, int h, const SkPaint& paint); | 118   virtual void DrawRectInt(int x, int y, int w, int h, | 
|  | 119                            const SkPaint& paint) OVERRIDE; | 
| 113   virtual void DrawLineInt(const SkColor& color, | 120   virtual void DrawLineInt(const SkColor& color, | 
| 114                            int x1, int y1, | 121                            int x1, int y1, | 
| 115                            int x2, int y2); | 122                            int x2, int y2) OVERRIDE; | 
| 116   virtual void DrawBitmapInt(const SkBitmap& bitmap, int x, int y); | 123   virtual void DrawBitmapInt(const SkBitmap& bitmap, int x, int y) OVERRIDE; | 
| 117   virtual void DrawBitmapInt(const SkBitmap& bitmap, | 124   virtual void DrawBitmapInt(const SkBitmap& bitmap, | 
| 118                              int x, int y, | 125                              int x, int y, | 
| 119                              const SkPaint& paint); | 126                              const SkPaint& paint) OVERRIDE; | 
| 120   virtual void DrawBitmapInt(const SkBitmap& bitmap, | 127   virtual void DrawBitmapInt(const SkBitmap& bitmap, | 
| 121                              int src_x, int src_y, int src_w, int src_h, | 128                              int src_x, int src_y, int src_w, int src_h, | 
| 122                              int dest_x, int dest_y, int dest_w, int dest_h, | 129                              int dest_x, int dest_y, int dest_w, int dest_h, | 
| 123                              bool filter); | 130                              bool filter) OVERRIDE; | 
| 124   virtual void DrawBitmapInt(const SkBitmap& bitmap, | 131   virtual void DrawBitmapInt(const SkBitmap& bitmap, | 
| 125                              int src_x, int src_y, int src_w, int src_h, | 132                              int src_x, int src_y, int src_w, int src_h, | 
| 126                              int dest_x, int dest_y, int dest_w, int dest_h, | 133                              int dest_x, int dest_y, int dest_w, int dest_h, | 
| 127                              bool filter, | 134                              bool filter, | 
| 128                              const SkPaint& paint); | 135                              const SkPaint& paint) OVERRIDE; | 
| 129   virtual void DrawStringInt(const string16& text, | 136   virtual void DrawStringInt(const string16& text, | 
| 130                              const gfx::Font& font, | 137                              const gfx::Font& font, | 
| 131                              const SkColor& color, | 138                              const SkColor& color, | 
| 132                              int x, int y, int w, int h); | 139                              int x, int y, int w, int h) OVERRIDE; | 
| 133   virtual void DrawStringInt(const string16& text, | 140   virtual void DrawStringInt(const string16& text, | 
| 134                              const gfx::Font& font, | 141                              const gfx::Font& font, | 
| 135                              const SkColor& color, | 142                              const SkColor& color, | 
| 136                              const gfx::Rect& display_rect); | 143                              const gfx::Rect& display_rect) OVERRIDE; | 
| 137   virtual void DrawStringInt(const string16& text, | 144   virtual void DrawStringInt(const string16& text, | 
| 138                              const gfx::Font& font, | 145                              const gfx::Font& font, | 
| 139                              const SkColor& color, | 146                              const SkColor& color, | 
| 140                              int x, int y, int w, int h, | 147                              int x, int y, int w, int h, | 
| 141                              int flags); | 148                              int flags) OVERRIDE; | 
| 142 #if defined(OS_WIN) | 149 #if defined(OS_WIN) | 
| 143   // Draws the given string with the beginning and/or the end using a fade | 150   // Draws the given string with the beginning and/or the end using a fade | 
| 144   // gradient. When truncating the head | 151   // gradient. When truncating the head | 
| 145   // |desired_characters_to_truncate_from_head| specifies the maximum number of | 152   // |desired_characters_to_truncate_from_head| specifies the maximum number of | 
| 146   // characters that can be truncated. | 153   // characters that can be truncated. | 
| 147   virtual void DrawFadeTruncatingString( | 154   virtual void DrawFadeTruncatingString( | 
| 148       const string16& text, | 155       const string16& text, | 
| 149       TruncateFadeMode truncate_mode, | 156       TruncateFadeMode truncate_mode, | 
| 150       size_t desired_characters_to_truncate_from_head, | 157       size_t desired_characters_to_truncate_from_head, | 
| 151       const gfx::Font& font, | 158       const gfx::Font& font, | 
| 152       const SkColor& color, | 159       const SkColor& color, | 
| 153       const gfx::Rect& display_rect); | 160       const gfx::Rect& display_rect); | 
| 154 #endif | 161 #endif | 
| 155   virtual void DrawFocusRect(const gfx::Rect& rect); | 162   virtual void DrawFocusRect(const gfx::Rect& rect) OVERRIDE; | 
| 156   virtual void TileImageInt(const SkBitmap& bitmap, int x, int y, int w, int h); | 163   virtual void TileImageInt(const SkBitmap& bitmap, | 
|  | 164                             int x, int y, int w, int h) OVERRIDE; | 
| 157   virtual void TileImageInt(const SkBitmap& bitmap, | 165   virtual void TileImageInt(const SkBitmap& bitmap, | 
| 158                             int src_x, int src_y, | 166                             int src_x, int src_y, | 
| 159                             int dest_x, int dest_y, int w, int h); | 167                             int dest_x, int dest_y, int w, int h) OVERRIDE; | 
| 160   virtual gfx::NativeDrawingContext BeginPlatformPaint(); | 168   virtual gfx::NativeDrawingContext BeginPlatformPaint() OVERRIDE; | 
| 161   virtual void EndPlatformPaint(); | 169   virtual void EndPlatformPaint() OVERRIDE; | 
| 162 #if !defined(OS_MACOSX) | 170 #if !defined(OS_MACOSX) | 
| 163   virtual void Transform(const ui::Transform& transform); | 171   virtual void Transform(const ui::Transform& transform) OVERRIDE; | 
| 164 #endif | 172 #endif | 
| 165   virtual ui::TextureID GetTextureID(); | 173   virtual ui::TextureID GetTextureID() OVERRIDE; | 
| 166   virtual CanvasSkia* AsCanvasSkia(); | 174   virtual CanvasSkia* AsCanvasSkia() OVERRIDE; | 
| 167   virtual const CanvasSkia* AsCanvasSkia() const; | 175   virtual const CanvasSkia* AsCanvasSkia() const OVERRIDE; | 
| 168   virtual SkCanvas* GetSkCanvas(); | 176   virtual SkCanvas* GetSkCanvas() OVERRIDE; | 
| 169   virtual const SkCanvas* GetSkCanvas() const; | 177   virtual const SkCanvas* GetSkCanvas() const OVERRIDE; | 
|  | 178 | 
| 170   SkCanvas* sk_canvas() const { return canvas_; } | 179   SkCanvas* sk_canvas() const { return canvas_; } | 
| 171   skia::PlatformCanvas* platform_canvas() const { return owned_canvas_.get(); } | 180   skia::PlatformCanvas* platform_canvas() const { return owned_canvas_.get(); } | 
| 172 | 181 | 
| 173  private: | 182  private: | 
| 174   // Test whether the provided rectangle intersects the current clip rect. | 183   // Test whether the provided rectangle intersects the current clip rect. | 
| 175   bool IntersectsClipRectInt(int x, int y, int w, int h); | 184   bool IntersectsClipRectInt(int x, int y, int w, int h); | 
| 176 | 185 | 
| 177 #if defined(OS_WIN) | 186 #if defined(OS_WIN) | 
| 178   // Draws text with the specified color, font and location. The text is | 187   // Draws text with the specified color, font and location. The text is | 
| 179   // aligned to the left, vertically centered, clipped to the region. If the | 188   // aligned to the left, vertically centered, clipped to the region. If the | 
| 180   // text is too big, it is truncated and '...' is added to the end. | 189   // text is too big, it is truncated and '...' is added to the end. | 
| 181   void DrawStringInt(const string16& text, | 190   void DrawStringInt(const string16& text, | 
| 182                      HFONT font, | 191                      HFONT font, | 
| 183                      const SkColor& color, | 192                      const SkColor& color, | 
| 184                      int x, int y, int w, int h, | 193                      int x, int y, int w, int h, | 
| 185                      int flags); | 194                      int flags); | 
| 186 #endif | 195 #endif | 
| 187 | 196 | 
| 188   scoped_ptr<skia::PlatformCanvas> owned_canvas_; | 197   scoped_ptr<skia::PlatformCanvas> owned_canvas_; | 
| 189   SkCanvas* canvas_; | 198   SkCanvas* canvas_; | 
| 190   DISALLOW_COPY_AND_ASSIGN(CanvasSkia); | 199   DISALLOW_COPY_AND_ASSIGN(CanvasSkia); | 
| 191 }; | 200 }; | 
| 192 | 201 | 
| 193 }  // namespace gfx; | 202 }  // namespace gfx; | 
| 194 | 203 | 
| 195 #endif  // UI_GFX_CANVAS_SKIA_H_ | 204 #endif  // UI_GFX_CANVAS_SKIA_H_ | 
| OLD | NEW | 
|---|