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 |