| OLD | NEW |
| 1 // Copyright (c) 2008, Google Inc. All rights reserved. | 1 // Copyright (c) 2008, Google Inc. All rights reserved. |
| 2 // | 2 // |
| 3 // Redistribution and use in source and binary forms, with or without | 3 // Redistribution and use in source and binary forms, with or without |
| 4 // modification, are permitted provided that the following conditions are | 4 // modification, are permitted provided that the following conditions are |
| 5 // met: | 5 // met: |
| 6 // | 6 // |
| 7 // * Redistributions of source code must retain the above copyright | 7 // * Redistributions of source code must retain the above copyright |
| 8 // notice, this list of conditions and the following disclaimer. | 8 // notice, this list of conditions and the following disclaimer. |
| 9 // * Redistributions in binary form must reproduce the above | 9 // * Redistributions in binary form must reproduce the above |
| 10 // copyright notice, this list of conditions and the following disclaimer | 10 // copyright notice, this list of conditions and the following disclaimer |
| (...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 56 // that the graphics state that is pushed and popped by save() and restore() | 56 // that the graphics state that is pushed and popped by save() and restore() |
| 57 // includes things like colors and pen styles. Skia does this differently, where | 57 // includes things like colors and pen styles. Skia does this differently, where |
| 58 // push and pop only includes transforms and bitmaps, and the application is | 58 // push and pop only includes transforms and bitmaps, and the application is |
| 59 // responsible for managing the painting state which is store in separate | 59 // responsible for managing the painting state which is store in separate |
| 60 // SkPaint objects. This class provides the adaptor that allows the painting | 60 // SkPaint objects. This class provides the adaptor that allows the painting |
| 61 // state to be pushed and popped along with the bitmap. | 61 // state to be pushed and popped along with the bitmap. |
| 62 class PlatformContextSkia { | 62 class PlatformContextSkia { |
| 63 public: | 63 public: |
| 64 // For printing, there shouldn't be any canvas. canvas can be NULL. If you | 64 // For printing, there shouldn't be any canvas. canvas can be NULL. If you |
| 65 // supply a NULL canvas, you can also call setCanvas later. | 65 // supply a NULL canvas, you can also call setCanvas later. |
| 66 PlatformContextSkia(gfx::PlatformCanvas* canvas); | 66 PlatformContextSkia(skia::PlatformCanvas* canvas); |
| 67 ~PlatformContextSkia(); | 67 ~PlatformContextSkia(); |
| 68 | 68 |
| 69 // Sets the canvas associated with this context. Use when supplying NULL | 69 // Sets the canvas associated with this context. Use when supplying NULL |
| 70 // to the constructor. | 70 // to the constructor. |
| 71 void setCanvas(gfx::PlatformCanvas* canvas); | 71 void setCanvas(skia::PlatformCanvas* canvas); |
| 72 | 72 |
| 73 void save(); | 73 void save(); |
| 74 void restore(); | 74 void restore(); |
| 75 | 75 |
| 76 // Sets up the common flags on a paint for antialiasing, effects, etc. | 76 // Sets up the common flags on a paint for antialiasing, effects, etc. |
| 77 // This is implicitly called by setupPaintFill and setupPaintStroke, but | 77 // This is implicitly called by setupPaintFill and setupPaintStroke, but |
| 78 // you may wish to call it directly sometimes if you don't want that other | 78 // you may wish to call it directly sometimes if you don't want that other |
| 79 // behavior. | 79 // behavior. |
| 80 void setupPaintCommon(SkPaint* paint) const; | 80 void setupPaintCommon(SkPaint* paint) const; |
| 81 | 81 |
| (...skipping 28 matching lines...) Expand all Loading... |
| 110 float getStrokeThickness() const; | 110 float getStrokeThickness() const; |
| 111 int getTextDrawingMode() const; | 111 int getTextDrawingMode() const; |
| 112 | 112 |
| 113 // Paths. | 113 // Paths. |
| 114 void beginPath(); | 114 void beginPath(); |
| 115 void addPath(const SkPath& path); | 115 void addPath(const SkPath& path); |
| 116 const SkPath* currentPath() const { return &m_path; } | 116 const SkPath* currentPath() const { return &m_path; } |
| 117 | 117 |
| 118 SkColor fillColor() const; | 118 SkColor fillColor() const; |
| 119 | 119 |
| 120 gfx::PlatformCanvas* canvas() { return m_canvas; } | 120 skia::PlatformCanvas* canvas() { return m_canvas; } |
| 121 | 121 |
| 122 // TODO(brettw) why is this in this class? | 122 // TODO(brettw) why is this in this class? |
| 123 void drawRect(SkRect rect); | 123 void drawRect(SkRect rect); |
| 124 | 124 |
| 125 // TODO(maruel): I'm still unsure how I will serialize this call. | 125 // TODO(maruel): I'm still unsure how I will serialize this call. |
| 126 void paintSkPaint(const SkRect& rect, const SkPaint& paint); | 126 void paintSkPaint(const SkRect& rect, const SkPaint& paint); |
| 127 | 127 |
| 128 const SkBitmap* bitmap() const; | 128 const SkBitmap* bitmap() const; |
| 129 | 129 |
| 130 // Returns the canvas used for painting, NOT guaranteed to be non-NULL. | 130 // Returns the canvas used for painting, NOT guaranteed to be non-NULL. |
| 131 // | 131 // |
| 132 // Warning: This function is deprecated so the users are reminded that they | 132 // Warning: This function is deprecated so the users are reminded that they |
| 133 // should use this layer of indirection instead of using the canvas | 133 // should use this layer of indirection instead of using the canvas |
| 134 // directly. This is to help with the eventual serialization. | 134 // directly. This is to help with the eventual serialization. |
| 135 gfx::PlatformCanvas* canvas() const; | 135 skia::PlatformCanvas* canvas() const; |
| 136 | 136 |
| 137 // Returns if the context is a printing context instead of a display | 137 // Returns if the context is a printing context instead of a display |
| 138 // context. Bitmap shouldn't be resampled when printing to keep the best | 138 // context. Bitmap shouldn't be resampled when printing to keep the best |
| 139 // possible quality. | 139 // possible quality. |
| 140 bool IsPrinting(); | 140 bool IsPrinting(); |
| 141 | 141 |
| 142 #if defined(__linux__) | 142 #if defined(__linux__) |
| 143 GdkSkia* gdk_skia() const { return m_gdkskia; } | 143 GdkSkia* gdk_skia() const { return m_gdkskia; } |
| 144 #endif | 144 #endif |
| 145 | 145 |
| 146 private: | 146 private: |
| 147 // Defines drawing style. | 147 // Defines drawing style. |
| 148 struct State; | 148 struct State; |
| 149 | 149 |
| 150 // NULL indicates painting is disabled. Never delete this object. | 150 // NULL indicates painting is disabled. Never delete this object. |
| 151 gfx::PlatformCanvas* m_canvas; | 151 skia::PlatformCanvas* m_canvas; |
| 152 | 152 |
| 153 // States stack. Enables local drawing state change with save()/restore() | 153 // States stack. Enables local drawing state change with save()/restore() |
| 154 // calls. | 154 // calls. |
| 155 WTF::Vector<State> m_stateStack; | 155 WTF::Vector<State> m_stateStack; |
| 156 // Pointer to the current drawing state. This is a cached value of | 156 // Pointer to the current drawing state. This is a cached value of |
| 157 // mStateStack.back(). | 157 // mStateStack.back(). |
| 158 State* m_state; | 158 State* m_state; |
| 159 | 159 |
| 160 // Current path. | 160 // Current path. |
| 161 SkPath m_path; | 161 SkPath m_path; |
| 162 | 162 |
| 163 // Disallow these. | 163 // Disallow these. |
| 164 PlatformContextSkia(const PlatformContextSkia&); | 164 PlatformContextSkia(const PlatformContextSkia&); |
| 165 void operator=(const PlatformContextSkia&); | 165 void operator=(const PlatformContextSkia&); |
| 166 | 166 |
| 167 #if defined(__linux__) | 167 #if defined(__linux__) |
| 168 // A pointer to a GDK Drawable wrapping of this Skia canvas | 168 // A pointer to a GDK Drawable wrapping of this Skia canvas |
| 169 GdkSkia* m_gdkskia; | 169 GdkSkia* m_gdkskia; |
| 170 #endif | 170 #endif |
| 171 }; | 171 }; |
| 172 | 172 |
| 173 #endif // PlatformContextSkia_h | 173 #endif // PlatformContextSkia_h |
| OLD | NEW |