| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2009 Google Inc. All rights reserved. | 2 * Copyright (C) 2009 Google Inc. All rights reserved. |
| 3 * | 3 * |
| 4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
| 5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
| 6 * met: | 6 * met: |
| 7 * | 7 * |
| 8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
| 9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
| 10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
| (...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 91 virtual void animate(double monotonicFrameBeginTime) { } | 91 virtual void animate(double monotonicFrameBeginTime) { } |
| 92 | 92 |
| 93 // Called to layout the WebWidget. This MUST be called before Paint, | 93 // Called to layout the WebWidget. This MUST be called before Paint, |
| 94 // and it may result in calls to WebWidgetClient::didInvalidateRect. | 94 // and it may result in calls to WebWidgetClient::didInvalidateRect. |
| 95 virtual void layout() { } | 95 virtual void layout() { } |
| 96 | 96 |
| 97 // Called to toggle the WebWidget in or out of force compositing mode. This | 97 // Called to toggle the WebWidget in or out of force compositing mode. This |
| 98 // should be called before paint. | 98 // should be called before paint. |
| 99 virtual void enterForceCompositingMode(bool enter) { } | 99 virtual void enterForceCompositingMode(bool enter) { } |
| 100 | 100 |
| 101 enum PaintOptions { | |
| 102 // Attempt to fulfill the painting request by reading back from the | |
| 103 // compositor, assuming we're using a compositor to render. | |
| 104 ReadbackFromCompositorIfAvailable, | |
| 105 | |
| 106 // Force the widget to rerender onto the canvas using software. This | |
| 107 // mode ignores 3d transforms and ignores GPU-resident content, such | |
| 108 // as video, canvas, and WebGL. | |
| 109 // | |
| 110 // Note: This option exists on OS(ANDROID) and will hopefully be | |
| 111 // removed once the link disambiguation feature renders using | |
| 112 // the compositor. | |
| 113 ForceSoftwareRenderingAndIgnoreGPUResidentContent, | |
| 114 }; | |
| 115 | |
| 116 // Called to paint the rectangular region within the WebWidget | 101 // Called to paint the rectangular region within the WebWidget |
| 117 // onto the specified canvas at (viewPort.x,viewPort.y). You MUST call | 102 // onto the specified canvas at (viewPort.x,viewPort.y). You MUST call |
| 118 // Layout before calling this method. It is okay to call paint | 103 // Layout before calling this method. It is okay to call paint |
| 119 // multiple times once layout has been called, assuming no other | 104 // multiple times once layout has been called, assuming no other |
| 120 // changes are made to the WebWidget (e.g., once events are | 105 // changes are made to the WebWidget (e.g., once events are |
| 121 // processed, it should be assumed that another call to layout is | 106 // processed, it should be assumed that another call to layout is |
| 122 // warranted before painting again). | 107 // warranted before painting again). |
| 123 virtual void paint(WebCanvas*, const WebRect& viewPort, PaintOptions = Readb
ackFromCompositorIfAvailable) { } | 108 virtual void paint(WebCanvas*, const WebRect& viewPort) { } |
| 124 | 109 |
| 125 // The caller is responsible for keeping the WebCompositeAndReadbackAsyncCal
lback | 110 // The caller is responsible for keeping the WebCompositeAndReadbackAsyncCal
lback |
| 126 // object alive until it is called. | 111 // object alive until it is called. |
| 127 virtual bool compositeAndReadbackAsync(WebCompositeAndReadbackAsyncCallback*
) { return false; } | 112 virtual bool compositeAndReadbackAsync(WebCompositeAndReadbackAsyncCallback*
) { return false; } |
| 128 | 113 |
| 129 // Returns true if we've started tracking repaint rectangles. | 114 // Returns true if we've started tracking repaint rectangles. |
| 130 virtual bool isTrackingRepaints() const { return false; } | 115 virtual bool isTrackingRepaints() const { return false; } |
| 131 | 116 |
| 132 // Indicates that the compositing surface associated with this WebWidget is | 117 // Indicates that the compositing surface associated with this WebWidget is |
| 133 // ready to use. | 118 // ready to use. |
| (...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 259 // content. | 244 // content. |
| 260 virtual WebColor backgroundColor() const { return 0xFFFFFFFF; /* SK_ColorWHI
TE */ } | 245 virtual WebColor backgroundColor() const { return 0xFFFFFFFF; /* SK_ColorWHI
TE */ } |
| 261 | 246 |
| 262 protected: | 247 protected: |
| 263 ~WebWidget() { } | 248 ~WebWidget() { } |
| 264 }; | 249 }; |
| 265 | 250 |
| 266 } // namespace blink | 251 } // namespace blink |
| 267 | 252 |
| 268 #endif | 253 #endif |
| OLD | NEW |