Changeset 72579 in webkit
- Timestamp:
- Nov 22, 2010 6:35:10 PM (13 years ago)
- Location:
- trunk/WebKit/efl
- Files:
-
- 8 added
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/WebKit/efl/CMakeListsEfl.txt
r72067 r72579 64 64 efl/ewk/ewk_main.cpp 65 65 efl/ewk/ewk_settings.cpp 66 efl/ewk/ewk_tiled_backing_store.c 67 efl/ewk/ewk_tiled_matrix.c 68 efl/ewk/ewk_tiled_model.c 66 69 efl/ewk/ewk_util.cpp 67 70 efl/ewk/ewk_view.cpp 68 71 efl/ewk/ewk_view_single.c 72 efl/ewk/ewk_view_tiled.c 69 73 efl/ewk/ewk_window_features.cpp 70 74 ) -
trunk/WebKit/efl/ChangeLog
r72097 r72579 1 2010-11-22 Alex Grilo <abgrilo@profusion.mobi> 2 3 Reviewed by Kenneth Rohde Christiansen. 4 5 [EFL] Tiled Backing Store for Webkit-Efl 6 https://bugs.webkit.org/show_bug.cgi?id=45397 7 8 This tile based backing store is a grid of tiles where each tile is 9 an Evas_Object showing a piece of the page content. The 10 new ewk_view_tiled.c is an implementation of some of the functions of 11 the original ewk_view, that makes calls to the Tiled Backing Store 12 specific functions. 13 14 The rendering occurs in the pixels stored in each tile (Evas_Object), 15 in the same way as the previous single backing store. Tiles not being 16 shown in the viewport are stored in a cache, and can be reused later 17 to avoid having to be rendered again. 18 19 Scrolling occurs as just moving the tiles, using Evas move operations, 20 and when more than one tile size is scrolled, a shift of rows or 21 columns needs to be done. 22 23 * CMakeListsEfl.txt: 24 * ewk/ewk_tiled_backing_store.c: Added. 25 (_ewk_tiled_backing_store_updates_process): 26 (_ewk_tiled_backing_store_flush): 27 (_ewk_tiled_backing_store_tile_new): 28 (_ewk_tiled_backing_store_item_move): 29 (_ewk_tiled_backing_store_item_resize): 30 (_ewk_tiled_backing_store_tile_associate): 31 (_ewk_tiled_backing_store_tile_dissociate): 32 (_ewk_tiled_backing_store_tile_dissociate_all): 33 (_ewk_tiled_backing_store_pre_render_request_add): 34 (_ewk_tiled_backing_store_pre_render_request_del): 35 (_ewk_tiled_backing_store_pre_render_request_first): 36 (_ewk_tiled_backing_store_pre_render_request_flush): 37 (_ewk_tiled_backing_store_pre_render_request_remove_unassociated): 38 (_ewk_tiled_backing_store_pre_render_request_remove_associated): 39 (_ewk_tiled_backing_store_pre_render_request_process_single): 40 (_ewk_tiled_backing_store_item_process_idler_cb): 41 (_ewk_tiled_backing_store_item_process_idler_stop): 42 (_ewk_tiled_backing_store_item_process_idler_start): 43 (_ewk_tiled_backing_store_item_request_del): 44 (_ewk_tiled_backing_store_item_request_add): 45 (_ewk_tiled_backing_store_disable_render): 46 (_ewk_tiled_backing_store_enable_render): 47 (_ewk_tiled_backing_store_visible_tiles_rect): 48 (_ewk_tiled_backing_store_tile_is_inside_viewport): 49 (_ewk_tiled_backing_store_tile_is_adjacent_to_viewport): 50 (_ewk_tiled_backing_store_item_fill): 51 (_ewk_tiled_backing_store_item_add): 52 (_ewk_tiled_backing_store_item_del): 53 (_ewk_tiled_backing_store_item_smooth_scale_set): 54 (_ewk_tiled_backing_store_changed): 55 (_ewk_tiled_backing_store_view_cols_end_del): 56 (_ewk_tiled_backing_store_view_cols_end_add): 57 (_ewk_tiled_backing_store_view_row_del): 58 (_ewk_tiled_backing_store_view_rows_range_del): 59 (_ewk_tiled_backing_store_view_rows_all_del): 60 (_ewk_tiled_backing_store_render): 61 (_ewk_tiled_backing_store_model_matrix_create): 62 (_ewk_tiled_backing_store_smart_member_del): 63 (_ewk_tiled_backing_store_smart_member_add): 64 (_ewk_tiled_backing_store_mem_dbg): 65 (_ewk_tiled_backing_store_sig_usr): 66 (_ewk_tiled_backing_store_smart_add): 67 (_ewk_tiled_backing_store_smart_del): 68 (_ewk_tiled_backing_store_smart_move): 69 (_ewk_tiled_backing_store_smart_resize): 70 (_ewk_tiled_backing_store_recalc_renderers): 71 (_ewk_tiled_backing_store_smart_calculate_size): 72 (_ewk_tiled_backing_store_view_dbg): 73 (_ewk_tiled_backing_store_view_wrap_up): 74 (_ewk_tiled_backing_store_view_wrap_down): 75 (_ewk_tiled_backing_store_view_wrap_left): 76 (_ewk_tiled_backing_store_view_wrap_right): 77 (_ewk_tiled_backing_store_view_refill): 78 (_ewk_tiled_backing_store_view_pos_apply): 79 (_ewk_tiled_backing_store_smart_calculate_offset_force): 80 (_ewk_tiled_backing_store_smart_calculate_offset): 81 (_ewk_tiled_backing_store_smart_calculate_pos): 82 (_ewk_tiled_backing_store_fill_renderers): 83 (_ewk_tiled_backing_store_smart_calculate): 84 (ewk_tiled_backing_store_add): 85 (ewk_tiled_backing_store_render_cb_set): 86 (ewk_tiled_backing_store_tile_unused_cache_get): 87 (ewk_tiled_backing_store_tile_unused_cache_set): 88 (_ewk_tiled_backing_store_scroll_full_offset_set_internal): 89 (ewk_tiled_backing_store_scroll_full_offset_set): 90 (ewk_tiled_backing_store_scroll_full_offset_add): 91 (_ewk_tiled_backing_store_zoom_set_internal): 92 (ewk_tiled_backing_store_zoom_set): 93 (ewk_tiled_backing_store_zoom_weak_set): 94 (ewk_tiled_backing_store_fix_offsets): 95 (ewk_tiled_backing_store_zoom_weak_smooth_scale_set): 96 (ewk_tiled_backing_store_update): 97 (ewk_tiled_backing_store_updates_process_pre_set): 98 (ewk_tiled_backing_store_updates_process_post_set): 99 (ewk_tiled_backing_store_updates_process): 100 (ewk_tiled_backing_store_updates_clear): 101 (ewk_tiled_backing_store_contents_resize): 102 (ewk_tiled_backing_store_disabled_update_set): 103 (ewk_tiled_backing_store_flush): 104 (ewk_tiled_backing_store_pre_render_region): 105 (ewk_tiled_backing_store_pre_render_relative_radius): 106 (ewk_tiled_backing_store_pre_render_cancel): 107 (ewk_tiled_backing_store_disable_render): 108 (ewk_tiled_backing_store_enable_render): 109 (ewk_tiled_backing_store_process_entire_queue_set): 110 * ewk/ewk_tiled_backing_store.h: Added. 111 * ewk/ewk_tiled_matrix.c: Added. 112 (_ewk_tile_matrix_cell_free): 113 (_ewk_tile_matrix_tile_free): 114 (ewk_tile_matrix_new): 115 (ewk_tile_matrix_free): 116 (ewk_tile_matrix_resize): 117 (ewk_tile_matrix_unused_cache_get): 118 (ewk_tile_matrix_tile_exact_get): 119 (ewk_tile_matrix_tile_exact_exists): 120 (ewk_tile_matrix_tile_nearest_get): 121 (ewk_tile_matrix_tile_new): 122 (ewk_tile_matrix_tile_put): 123 (ewk_tile_matrix_tile_update): 124 (ewk_tile_matrix_tile_update_full): 125 (ewk_tile_matrix_tile_updates_clear): 126 (_ewk_tile_matrix_slicer_setup): 127 (ewk_tile_matrix_update): 128 (ewk_tile_matrix_updates_process): 129 (ewk_tile_matrix_updates_clear): 130 (ewk_tile_matrix_dbg): 131 (ewk_tile_matrix_freeze): 132 (ewk_tile_matrix_thaw): 133 * ewk/ewk_tiled_matrix.h: Added. 134 * ewk/ewk_tiled_model.c: Added. 135 (_ewk_tile_account_get): 136 (_ewk_tile_account_allocated): 137 (_ewk_tile_account_freed): 138 (ewk_tile_accounting_dbg): 139 (_ewk_tile_paint_rgb888): 140 (_ewk_tile_paint_rgb565): 141 (_ewk_tile_paint): 142 (ewk_tile_new): 143 (ewk_tile_free): 144 (ewk_tile_show): 145 (ewk_tile_hide): 146 (ewk_tile_visible_get): 147 (ewk_tile_update_full): 148 (ewk_tile_update_area): 149 (ewk_tile_updates_process): 150 (ewk_tile_updates_clear): 151 (ewk_tile_unused_cache_new): 152 (ewk_tile_unused_cache_lock_area): 153 (ewk_tile_unused_cache_unlock_area): 154 (ewk_tile_unused_cache_free): 155 (ewk_tile_unused_cache_clear): 156 (ewk_tile_unused_cache_ref): 157 (ewk_tile_unused_cache_unref): 158 (ewk_tile_unused_cache_max_set): 159 (ewk_tile_unused_cache_max_get): 160 (ewk_tile_unused_cache_used_get): 161 (ewk_tile_unused_cache_flush): 162 (ewk_tile_unused_cache_auto_flush): 163 (ewk_tile_unused_cache_dirty): 164 (ewk_tile_unused_cache_freeze): 165 (ewk_tile_unused_cache_thaw): 166 (ewk_tile_unused_cache_tile_get): 167 (ewk_tile_unused_cache_tile_put): 168 (ewk_tile_unused_cache_dbg): 169 * ewk/ewk_tiled_model.h: Added. 170 * ewk/ewk_tiled_private.h: Added. 171 * ewk/ewk_view.cpp: 172 (_ewk_view_smart_add): 173 (_ewk_view_smart_calculate): 174 (_ewk_view_smart_show): 175 (_ewk_view_smart_hide): 176 (_ewk_view_smart_pre_render_relative_radius): 177 (_ewk_view_zoom_animator_cb): 178 (_ewk_view_smart_disable_render): 179 (_ewk_view_smart_enable_render): 180 (ewk_view_base_smart_set): 181 (ewk_view_pre_render_region): 182 (ewk_view_pre_render_relative_radius): 183 (ewk_view_enable_render): 184 (ewk_view_disable_render): 185 (ewk_view_scroll): 186 (ewk_view_did_first_visually_nonempty_layout): 187 (ewk_view_dispatch_did_finish_loading): 188 (ewk_view_transition_to_commited_for_newpage): 189 * ewk/ewk_view.h: 190 * ewk/ewk_view_tiled.c: Added. 191 (_ewk_view_tiled_render_cb): 192 (_ewk_view_tiled_updates_process_pre): 193 (_ewk_view_tiled_smart_backing_store_add): 194 (_ewk_view_tiled_contents_size_changed_cb): 195 (_ewk_view_tiled_smart_add): 196 (_ewk_view_tiled_smart_scrolls_process): 197 (_ewk_view_tiled_smart_repaints_process): 198 (_ewk_view_tiled_smart_contents_resize): 199 (_ewk_view_tiled_smart_zoom_set): 200 (_ewk_view_tiled_smart_zoom_weak_set): 201 (_ewk_view_tiled_smart_zoom_weak_smooth_scale_set): 202 (_ewk_view_tiled_smart_flush): 203 (_ewk_view_tiled_smart_pre_render_region): 204 (_ewk_view_tiled_smart_pre_render_relative_radius): 205 (_ewk_view_tiled_smart_pre_render_cancel): 206 (_ewk_view_tiled_smart_disable_render): 207 (_ewk_view_tiled_smart_enable_render): 208 (ewk_view_tiled_smart_set): 209 (_ewk_view_tiled_smart_class_new): 210 (ewk_view_tiled_add): 211 (ewk_view_tiled_unused_cache_get): 212 (ewk_view_tiled_unused_cache_set): 213 (ewk_view_tiled_process_entire_queue_set): 214 1 215 2010-11-16 Leandro Pereira <leandro@profusion.mobi> 2 216 -
trunk/WebKit/efl/ewk/ewk_view.cpp
r70931 r72579 94 94 } scrolls; 95 95 unsigned int imh; /**< input method hints */ 96 struct { 97 Eina_Bool view_cleared:1; 98 } flags; 96 99 struct { 97 100 const char* user_agent; … … 726 729 evas_object_smart_member_add(sd->backing_store, o); 727 730 evas_object_show(sd->backing_store); 731 evas_object_pass_events_set(sd->backing_store, EINA_TRUE); 732 733 sd->events_rect = evas_object_rectangle_add(sd->base.evas); 734 evas_object_color_set(sd->events_rect, 0, 0, 0, 0); 735 evas_object_smart_member_add(sd->events_rect, o); 736 evas_object_show(sd->events_rect); 728 737 729 738 sd->main_frame = ewk_frame_add(sd->base.evas); … … 816 825 } 817 826 evas_object_resize(sd->main_frame, w, h); 827 evas_object_resize(sd->events_rect, w, h); 818 828 sd->changed.frame_rect = EINA_TRUE; 819 829 sd->view.w = w; … … 828 838 evas_object_move(sd->main_frame, x, y); 829 839 evas_object_move(sd->backing_store, x, y); 840 evas_object_move(sd->events_rect, x, y); 830 841 sd->changed.frame_rect = EINA_TRUE; 831 842 sd->view.x = x; … … 849 860 sd->changed.frame_rect = EINA_FALSE; 850 861 } 862 } 863 864 static void _ewk_view_smart_show(Evas_Object *o) 865 { 866 EWK_VIEW_SD_GET(o, sd); 867 EWK_VIEW_PRIV_GET(sd, priv); 868 869 if (evas_object_clipees_get(sd->base.clipper)) 870 evas_object_show(sd->base.clipper); 871 evas_object_show(sd->backing_store); 872 } 873 874 static void _ewk_view_smart_hide(Evas_Object *o) 875 { 876 EWK_VIEW_SD_GET(o, sd); 877 EWK_VIEW_PRIV_GET(sd, priv); 878 879 evas_object_hide(sd->base.clipper); 880 evas_object_hide(sd->backing_store); 851 881 } 852 882 … … 898 928 } 899 929 930 static Eina_Bool _ewk_view_smart_pre_render_relative_radius(Ewk_View_Smart_Data* sd, unsigned int n, float zoom) 931 { 932 WRN("not supported by engine. sd=%p, n=%u zoom=%f", 933 sd, n, zoom); 934 return EINA_FALSE; 935 } 936 900 937 static void _ewk_view_smart_pre_render_cancel(Ewk_View_Smart_Data* sd) 901 938 { … … 955 992 _ewk_view_zoom_animated_finish(sd); 956 993 ewk_view_zoom_set(sd->self, priv->animated_zoom.zoom.end, cx, cy); 994 sd->api->sc.calculate(sd->self); 957 995 return EINA_FALSE; 958 996 } … … 990 1028 991 1029 return attributes; 1030 } 1031 1032 static Eina_Bool _ewk_view_smart_disable_render(Ewk_View_Smart_Data *sd) 1033 { 1034 WRN("not supported by engine. sd=%p", sd); 1035 return EINA_FALSE; 1036 } 1037 1038 static Eina_Bool _ewk_view_smart_enable_render(Ewk_View_Smart_Data *sd) 1039 { 1040 WRN("not supported by engine. sd=%p", sd); 1041 return EINA_FALSE; 992 1042 } 993 1043 … … 1031 1081 api->sc.move = _ewk_view_smart_move; 1032 1082 api->sc.calculate = _ewk_view_smart_calculate; 1083 api->sc.show = _ewk_view_smart_show; 1084 api->sc.hide = _ewk_view_smart_hide; 1033 1085 api->sc.data = EWK_VIEW_TYPE_STR; /* used by type checking */ 1034 1086 … … 1037 1089 api->flush = _ewk_view_smart_flush; 1038 1090 api->pre_render_region = _ewk_view_smart_pre_render_region; 1091 api->pre_render_relative_radius = _ewk_view_smart_pre_render_relative_radius; 1039 1092 api->pre_render_cancel = _ewk_view_smart_pre_render_cancel; 1093 api->disable_render = _ewk_view_smart_disable_render; 1094 api->enable_render = _ewk_view_smart_enable_render; 1040 1095 1041 1096 api->focus_in = _ewk_view_smart_focus_in; … … 2172 2227 { 2173 2228 EWK_VIEW_SD_GET_OR_RETURN(o, sd, EINA_FALSE); 2229 EWK_VIEW_PRIV_GET_OR_RETURN(sd, priv, EINA_FALSE); 2174 2230 EINA_SAFETY_ON_NULL_RETURN_VAL(sd->api->pre_render_region, EINA_FALSE); 2175 float cur_zoom = ewk_frame_zoom_get(sd->main_frame);2231 float cur_zoom; 2176 2232 Evas_Coord cw, ch; 2233 2234 /* When doing animated zoom it's not possible to call pre-render since it 2235 * would screw up parameters that animation is currently using 2236 */ 2237 if (priv->animated_zoom.animator) 2238 return EINA_FALSE; 2239 2240 cur_zoom = ewk_frame_zoom_get(sd->main_frame); 2177 2241 2178 2242 if (cur_zoom < 0.00001) … … 2204 2268 2205 2269 /** 2270 * Hint engine to pre-render region, given n extra cols/rows 2271 * 2272 * This is an alternative method to ewk_view_pre_render_region(). It does not 2273 * make sense in all engines and therefore it might not be implemented at all. 2274 * 2275 * It's only useful if engine divide the area being rendered in smaller tiles, 2276 * forming a grid. Then, browser could call this function to pre-render @param n 2277 * rows/cols involving the current viewport. 2278 * 2279 * @param o view to ask pre-render on. 2280 * @param n number of cols/rows that must be part of the region pre-rendered 2281 * 2282 * @see ewk_view_pre_render_region() 2283 */ 2284 Eina_Bool ewk_view_pre_render_relative_radius(Evas_Object* o, unsigned int n) 2285 { 2286 EWK_VIEW_SD_GET_OR_RETURN(o, sd, EINA_FALSE); 2287 EWK_VIEW_PRIV_GET_OR_RETURN(sd, priv, EINA_FALSE); 2288 EINA_SAFETY_ON_NULL_RETURN_VAL(sd->api->pre_render_relative_radius, EINA_FALSE); 2289 float cur_zoom; 2290 2291 if (priv->animated_zoom.animator) 2292 return EINA_FALSE; 2293 2294 cur_zoom = ewk_frame_zoom_get(sd->main_frame); 2295 return sd->api->pre_render_relative_radius(sd, n, cur_zoom); 2296 } 2297 2298 /** 2206 2299 * Get input method hints 2207 2300 * … … 2227 2320 EINA_SAFETY_ON_NULL_RETURN(sd->api->pre_render_cancel); 2228 2321 sd->api->pre_render_cancel(sd); 2322 } 2323 2324 /** 2325 * Enable processing of update requests. 2326 * 2327 * @param o view to enable rendering. 2328 * 2329 * @return @c EINA_TRUE if render was enabled, @c EINA_FALSE 2330 otherwise (errors, rendering suspension not supported). 2331 */ 2332 Eina_Bool ewk_view_enable_render(const Evas_Object *o) 2333 { 2334 EWK_VIEW_SD_GET_OR_RETURN(o, sd, EINA_FALSE); 2335 EINA_SAFETY_ON_NULL_RETURN_VAL(sd->api->enable_render, EINA_FALSE); 2336 return sd->api->enable_render(sd); 2337 } 2338 2339 /** 2340 * Disable processing of update requests. 2341 * 2342 * @param o view to disable rendering. 2343 * 2344 * @return @c EINA_TRUE if render was disabled, @c EINA_FALSE 2345 otherwise (errors, rendering suspension not supported). 2346 */ 2347 Eina_Bool ewk_view_disable_render(const Evas_Object *o) 2348 { 2349 EWK_VIEW_SD_GET_OR_RETURN(o, sd, EINA_FALSE); 2350 EINA_SAFETY_ON_NULL_RETURN_VAL(sd->api->disable_render, EINA_FALSE); 2351 return sd->api->disable_render(sd); 2229 2352 } 2230 2353 … … 3953 4076 EINA_SAFETY_ON_TRUE_RETURN(!dx && !dy); 3954 4077 3955 _ewk_view_scroll_add(priv, dx, dy, sx, sy, sw, sh, main_frame);3956 4078 _ewk_view_smart_changed(sd); 3957 4079 } … … 4285 4407 } 4286 4408 4409 void ewk_view_did_first_visually_nonempty_layout(Evas_Object *o) 4410 { 4411 EWK_VIEW_SD_GET_OR_RETURN(o, sd); 4412 EWK_VIEW_PRIV_GET_OR_RETURN(sd, priv); 4413 if (!priv->flags.view_cleared) { 4414 ewk_view_frame_main_cleared(o); 4415 ewk_view_enable_render(o); 4416 priv->flags.view_cleared = EINA_TRUE; 4417 } 4418 } 4419 4420 /** 4421 * @internal 4422 * Dispatch finished loading. 4423 * 4424 * @param o view. 4425 */ 4426 void ewk_view_dispatch_did_finish_loading(Evas_Object *o) 4427 { 4428 /* If we reach this point and rendering is still disabled, WebCore will not 4429 * trigger the didFirstVisuallyNonEmptyLayout signal anymore. So, we 4430 * forcefully re-enable the rendering. 4431 */ 4432 ewk_view_did_first_visually_nonempty_layout(o); 4433 } 4434 4435 void ewk_view_transition_to_commited_for_newpage(Evas_Object *o) 4436 { 4437 EWK_VIEW_SD_GET_OR_RETURN(o, sd); 4438 EWK_VIEW_PRIV_GET_OR_RETURN(sd, priv); 4439 4440 ewk_view_disable_render(o); 4441 priv->flags.view_cleared = EINA_FALSE; 4442 } 4443 4444 4287 4445 /** 4288 4446 * @internal -
trunk/WebKit/efl/ewk/ewk_view.h
r70091 r72579 115 115 void (*flush)(Ewk_View_Smart_Data *sd); 116 116 Eina_Bool (*pre_render_region)(Ewk_View_Smart_Data *sd, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h, float zoom); 117 Eina_Bool (*pre_render_relative_radius)(Ewk_View_Smart_Data *sd, unsigned int n, float zoom); 117 118 void (*pre_render_cancel)(Ewk_View_Smart_Data *sd); 119 Eina_Bool (*disable_render)(Ewk_View_Smart_Data *sd); 120 Eina_Bool (*enable_render)(Ewk_View_Smart_Data *sd); 121 118 122 // event handling: 119 123 // - returns true if handled … … 152 156 * @see EWK_VIEW_SMART_CLASS_INIT_NAME_VERSION 153 157 */ 154 #define EWK_VIEW_SMART_CLASS_INIT(smart_class_init) {smart_class_init, EWK_VIEW_SMART_CLASS_VERSION, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }158 #define EWK_VIEW_SMART_CLASS_INIT(smart_class_init) {smart_class_init, EWK_VIEW_SMART_CLASS_VERSION, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} 155 159 156 160 /** … … 269 273 Evas_Object *main_frame; /**< reference to main frame object */ 270 274 Evas_Object *backing_store; /**< reference to backing store */ 275 Evas_Object *events_rect; /**< rectangle that should receive mouse events */ 271 276 Ewk_View_Private_Data *_priv; /**< should never be accessed, c++ stuff */ 272 277 struct { … … 292 297 }; 293 298 299 /** 300 * Cache (pool) that contains unused tiles for ewk_view_tiled. 301 * 302 * This cache will maintain unused tiles and flush them when the total 303 * memory exceeds the set amount when 304 * ewk_tile_unused_cache_auto_flush() or explicitly set value when 305 * ewk_tile_unused_cache_flush() is called. 306 * 307 * The tile may be shared among different ewk_view_tiled instances to 308 * group maximum unused memory resident in the system. 309 */ 310 typedef struct _Ewk_Tile_Unused_Cache Ewk_Tile_Unused_Cache; 311 EAPI void ewk_tile_unused_cache_max_set(Ewk_Tile_Unused_Cache *tuc, size_t max); 312 EAPI size_t ewk_tile_unused_cache_max_get(const Ewk_Tile_Unused_Cache *tuc); 313 EAPI size_t ewk_tile_unused_cache_used_get(const Ewk_Tile_Unused_Cache *tuc); 314 EAPI size_t ewk_tile_unused_cache_flush(Ewk_Tile_Unused_Cache *tuc, size_t bytes); 315 EAPI void ewk_tile_unused_cache_auto_flush(Ewk_Tile_Unused_Cache *tuc); 316 294 317 EAPI Eina_Bool ewk_view_base_smart_set(Ewk_View_Smart_Class *api); 295 318 EAPI Eina_Bool ewk_view_single_smart_set(Ewk_View_Smart_Class *api); 319 EAPI Eina_Bool ewk_view_tiled_smart_set(Ewk_View_Smart_Class *api); 296 320 297 321 EAPI Evas_Object *ewk_view_single_add(Evas *e); 322 EAPI Evas_Object *ewk_view_tiled_add(Evas *e); 323 324 EAPI Ewk_Tile_Unused_Cache *ewk_view_tiled_unused_cache_get(const Evas_Object *o); 325 EAPI void ewk_view_tiled_unused_cache_set(Evas_Object *o, Ewk_Tile_Unused_Cache *cache); 326 327 // FIXME: this function should be removed later, when we find the best flag to use. 328 EAPI void ewk_view_tiled_process_entire_queue_set(Evas_Object *o, Eina_Bool flag); 298 329 299 330 EAPI void ewk_view_fixed_layout_size_set(Evas_Object *o, Evas_Coord w, Evas_Coord h); … … 371 402 372 403 EAPI Eina_Bool ewk_view_pre_render_region(Evas_Object *o, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h, float zoom); 404 EAPI Eina_Bool ewk_view_pre_render_relative_radius(Evas_Object *o, unsigned int n); 373 405 EAPI void ewk_view_pre_render_cancel(Evas_Object *o); 406 EAPI Eina_Bool ewk_view_enable_render(const Evas_Object *o); 407 EAPI Eina_Bool ewk_view_disable_render(const Evas_Object *o); 374 408 375 409 EAPI unsigned int ewk_view_imh_get(Evas_Object *o);
Note: See TracChangeset
for help on using the changeset viewer.