Review Request: Replace all old-style iterators with NG iterators

Dmitry Kazakov dimula73 at gmail.com
Sat Apr 28 14:02:12 BST 2012


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/104771/#review13022
-----------------------------------------------------------


Well, I would really like if we had resolved the recently found design issues of NG iterators before merging it to master.

1) I would prefer fixing the real cause of them (the order of the checks in the cycle). But if you insist on limiting the usage scope of iterators to valid rects only, then ok.

2) I agree with Cyrille that adding constRawData() might be a good idea, but I won't argue on this point.

3) Did you intend to remove the files for with old iterators and accessors? It looks like they are still in the tree.


- Dmitry Kazakov


On April 28, 2012, 9:49 a.m., Boudewijn Rempt wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://git.reviewboard.kde.org/r/104771/
> -----------------------------------------------------------
> 
> (Updated April 28, 2012, 9:49 a.m.)
> 
> 
> Review request for Calligra.
> 
> 
> Description
> -------
> 
> We implemented a next generation of iterators in 2010 but never managed to part of Krita to the newer, faster iterators. This patch finishes the porting. Branch testers have confirmed that Krita feels quite a bit smoother and responsive now.
> 
> 
> Diffs
> -----
> 
>   krita/benchmarks/CMakeLists.txt c30532c 
>   krita/benchmarks/kis_bcontrast_benchmark.cpp c2768c9 
>   krita/benchmarks/kis_blur_benchmark.cpp e082cdc 
>   krita/benchmarks/kis_floodfill_benchmark.cpp a8100d0 
>   krita/benchmarks/kis_gradient_benchmark.cpp 9dbcb52 
>   krita/benchmarks/kis_hline_iterator_benchmark.cpp 76cfbd0 
>   krita/benchmarks/kis_painter_benchmark.cpp 20229b5 
>   krita/benchmarks/kis_projection_benchmark.cpp 68dba89 
>   krita/benchmarks/kis_random_iterator_benchmark.cpp 08ce0d4 
>   krita/benchmarks/kis_rect_iterator_benchmark.h 89341a5 
>   krita/benchmarks/kis_rect_iterator_benchmark.cpp 134bc61 
>   krita/benchmarks/kis_stroke_benchmark.cpp 6809fd5 
>   krita/benchmarks/kis_vline_iterator_benchmark.cpp 614896d 
>   krita/image/CMakeLists.txt c501a70 
>   krita/image/brushengine/kis_paintop.cc a550249 
>   krita/image/config-tiles.h.cmake cfb1056 
>   krita/image/filter/kis_color_transformation_filter.cc 70d2b8f 
>   krita/image/kis_convolution_painter.cc 318d188 
>   krita/image/kis_convolution_worker.h f8177d5 
>   krita/image/kis_convolution_worker_fft.h 5b4b5ae 
>   krita/image/kis_convolution_worker_spatial.h dd613f8 
>   krita/image/kis_fill_painter.cc f241585 
>   krita/image/kis_gradient_painter.cc b110998 
>   krita/image/kis_histogram.cc 02656b6 
>   krita/image/kis_image.cc d229b31 
>   krita/image/kis_math_toolbox.cpp 1644a0d 
>   krita/image/kis_node_graph_listener.cpp 20fe5c8 
>   krita/image/kis_paint_device.h 1a9b7f8 
>   krita/image/kis_paint_device.cc 6c57e7d 
>   krita/image/kis_painter.h 8ea7949 
>   krita/image/kis_painter.cc acbd275 
>   krita/image/kis_perspectivetransform_worker.cpp 8dd1b47 
>   krita/image/kis_pixel_selection.cpp fd2d18a 
>   krita/image/kis_queues_progress_updater.cpp 24f2164 
>   krita/image/kis_random_sub_accessor.h 2a889db 
>   krita/image/kis_random_sub_accessor.cpp a086840 
>   krita/image/kis_repeat_iterators_pixel.h 30adc86 
>   krita/image/kis_selection.cc b835145 
>   krita/image/kis_strokes_queue.cpp 23a25a4 
>   krita/image/kis_transform_worker.cc 6e70529 
>   krita/image/kis_types.h a7d8a4b 
>   krita/image/kis_warptransform_worker.cc 11ed991 
>   krita/image/tests/CMakeLists.txt 7365a0d 
>   krita/image/tests/kis_iterator_benchmark.cpp cfa1085 
>   krita/image/tests/kis_iterator_test.cpp 2869397 
>   krita/image/tests/kis_iterators_ng_test.cpp e99e23d 
>   krita/image/tests/kis_iterators_pixel_test.h df1c8fe 
>   krita/image/tests/kis_iterators_pixel_test.cpp f2a5c6b 
>   krita/image/tests/kis_paint_layer_test.cpp 948c2db 
>   krita/image/tests/kis_painter_test.cpp aae58fd 
>   krita/image/tests/kis_pixel_selection_test.h a89aa51 
>   krita/image/tests/kis_pixel_selection_test.cpp 542be4e 
>   krita/image/tests/kis_projection_test.cpp cd05a40 
>   krita/image/tests/kis_threaded_applicator_test.cpp 854c35c 
>   krita/image/tests/kis_transaction_test.cpp 2c9eebe 
>   krita/image/tiles3/kis_hline_iterator.h 578d8c9b 
>   krita/image/tiles3/kis_hline_iterator.cpp fcc5bda 
>   krita/image/tiles3/kis_rect_iterator.cpp a2299e1 
>   krita/image/tiles3/kis_vline_iterator.h 23ed461 
>   krita/image/tiles3/kis_vline_iterator.cpp 0855de2 
>   krita/plugins/extensions/colorrange/colorrange.cc 41e11c3 
>   krita/plugins/extensions/colorrange/dlg_colorrange.cc 3ab6832 
>   krita/plugins/extensions/dockers/defaultdockers/kis_birdeye_box.cc 6b1ed65 
>   krita/plugins/extensions/dropshadow/kis_dropshadow.cc 0882397 
>   krita/plugins/extensions/separate_channels/kis_channel_separator.cc 9acd5f3 
>   krita/plugins/extensions/shiva/PaintDeviceImage.cpp 58c2f95 
>   krita/plugins/filters/blur/kis_blur_filter.cpp 9e3833b 
>   krita/plugins/filters/blur/kis_gaussian_blur_filter.cpp b00e380 
>   krita/plugins/filters/blur/kis_lens_blur_filter.cpp 5cdcc2c 
>   krita/plugins/filters/blur/kis_motion_blur_filter.cpp 3540829 
>   krita/plugins/filters/colors/kis_color_to_alpha.cpp 41673e9 
>   krita/plugins/filters/colors/kis_minmax_filters.cpp e9d9ba5 
>   krita/plugins/filters/colorsfilters/colorsfilters.cpp 011e839 
>   krita/plugins/filters/colorsfilters/kis_brightness_contrast_filter.cpp dc4765c 
>   krita/plugins/filters/colorsfilters/kis_perchannel_filter.cpp f88bcae 
>   krita/plugins/filters/embossfilter/kis_emboss_filter.cpp f486d38 
>   krita/plugins/filters/example/example.cpp e49b4c4 
>   krita/plugins/filters/fastcolortransfer/fastcolortransfer.cpp 283da31 
>   krita/plugins/filters/fastcolortransfer/kis_wdg_fastcolortransfer.cpp 332b29d 
>   krita/plugins/filters/imageenhancement/imageenhancement.cpp e885f01 
>   krita/plugins/filters/imageenhancement/kis_simple_noise_reducer.cpp e614ad2 
>   krita/plugins/filters/imageenhancement/kis_wavelet_noise_reduction.cpp 916fee9 
>   krita/plugins/filters/levelfilter/kis_level_filter.cpp 9a41be0 
>   krita/plugins/filters/noisefilter/noisefilter.cpp 5f43791 
>   krita/plugins/filters/oilpaintfilter/kis_oilpaint_filter.h 21f3af1 
>   krita/plugins/filters/oilpaintfilter/kis_oilpaint_filter.cpp 0b67eab 
>   krita/plugins/filters/pixelizefilter/kis_pixelize_filter.cpp f6522a2 
>   krita/plugins/filters/raindropsfilter/kis_raindrops_filter.cpp 1a9c802 
>   krita/plugins/filters/randompickfilter/randompickfilter.cpp 0af9fdc 
>   krita/plugins/filters/roundcorners/kis_round_corners_filter.cpp 56e3f41 
>   krita/plugins/filters/smalltilesfilter/kis_small_tiles_filter.cpp c85f982 
>   krita/plugins/filters/sobelfilter/kis_sobel_filter.cpp 25a9c5f 
>   krita/plugins/filters/unsharp/kis_unsharp_filter.cpp 2fb1f84 
>   krita/plugins/filters/wavefilter/wavefilter.cpp c9065f5 
>   krita/plugins/formats/exr/exr_converter.cc 88e983b 
>   krita/plugins/formats/jp2/jp2_converter.cc bfd31b3 
>   krita/plugins/formats/jpeg/kis_jpeg_converter.cc 9057924 
>   krita/plugins/formats/odg/kis_odg_import.cc 07f748d 
>   krita/plugins/formats/png/kis_png_export.cc 28cc8ce 
>   krita/plugins/formats/ppm/kis_ppm_export.cpp 34dbd84 
>   krita/plugins/formats/ppm/kis_ppm_import.cpp e4f4987 
>   krita/plugins/formats/psd/psd_image_data.cpp f533aba 
>   krita/plugins/formats/psd/psd_layer_record.cpp 23ff8aa 
>   krita/plugins/formats/psd/psd_loader.cpp b7cd520 
>   krita/plugins/formats/raw/kis_raw_import.cpp 320a5a8 
>   krita/plugins/formats/tiff/kis_buffer_stream.h 4102510 
>   krita/plugins/formats/tiff/kis_buffer_stream.cc e944c80 
>   krita/plugins/formats/tiff/kis_tiff_converter.cc ff3d92e 
>   krita/plugins/formats/tiff/kis_tiff_reader.h 0f7777b 
>   krita/plugins/formats/tiff/kis_tiff_reader.cc 3bedde3 
>   krita/plugins/formats/tiff/kis_tiff_writer_visitor.h 82e4bae 
>   krita/plugins/formats/tiff/kis_tiff_writer_visitor.cpp 413584f 
>   krita/plugins/formats/tiff/kis_tiff_ycbcr_reader.cc b4a98c0 
>   krita/plugins/formats/xcf/kis_xcf_import.cpp 16f0ebb 
>   krita/plugins/generators/solid/colorgenerator.cpp 6c97e35 
>   krita/plugins/paintops/chalk/chalk_brush.cpp 6011de0 
>   krita/plugins/paintops/colorsmudge/kis_rate_option_widget.cpp 84c1022 
>   krita/plugins/paintops/curvebrush/curve_brush.h 53c6306 
>   krita/plugins/paintops/curvebrush/curve_brush.cpp 05be321 
>   krita/plugins/paintops/defaultpaintops/duplicate/kis_duplicateop.cpp d4ddda4 
>   krita/plugins/paintops/deform/deform_brush.h 11dc755 
>   krita/plugins/paintops/deform/deform_brush.cpp 02f7ebf 
>   krita/plugins/paintops/deform/kis_deform_paintop.cpp 077762b 
>   krita/plugins/paintops/dynadraw/dyna_brush.cpp 7801b48 
>   krita/plugins/paintops/dynadraw/kis_dyna_paintop.cpp bd3ef3e 
>   krita/plugins/paintops/experiment/kis_experiment_paintop.cpp 01eaccf 
>   krita/plugins/paintops/experiment/kis_experiment_paintop_settings_widget.cpp e69ebba 
>   krita/plugins/paintops/filterop/kis_filterop.cpp 74180d3 
>   krita/plugins/paintops/gridbrush/kis_grid_paintop.cpp 85ee70a 
>   krita/plugins/paintops/hairy/hairy_brush.h 770025d 
>   krita/plugins/paintops/hairy/hairy_brush.cpp b2bc87e 
>   krita/plugins/paintops/hatching/hatching_brush.cpp 3860f6b 
>   krita/plugins/paintops/libbrush/kis_abr_brush.cpp 48c8dab 
>   krita/plugins/paintops/libbrush/kis_brush.h 707e9b0 
>   krita/plugins/paintops/libbrush/kis_brush.cpp 3947a50 
>   krita/plugins/paintops/libbrush/kis_gbr_brush.cpp 9d8339e 
>   krita/plugins/paintops/libpaintop/kis_bidirectional_mixing_option.cpp 9c66f83 
>   krita/plugins/paintops/libpaintop/kis_color_source.cpp a0f5b8c 
>   krita/plugins/paintops/libpaintop/kis_custom_brush_widget.cpp a8c345d 
>   krita/plugins/paintops/mypaint/brushlib/brush.hpp 42bda16 
>   krita/plugins/paintops/mypaint/mypaint_surface.cpp 50e91bf 
>   krita/plugins/paintops/particle/particle_brush.h 3eabee1 
>   krita/plugins/paintops/particle/particle_brush.cpp 48ed386 
>   krita/plugins/paintops/spray/spray_brush.h 9e13c19 
>   krita/plugins/paintops/spray/spray_brush.cpp 864b85a 
>   krita/plugins/tools/defaulttools/kis_tool_colorpicker.cc ab4fa69 
>   krita/plugins/tools/selectiontools/kis_tool_select_contiguous.cc b0f0645 
>   krita/plugins/tools/selectiontools/kis_tool_select_magnetic.h 77498aa 
>   krita/plugins/tools/selectiontools/kis_tool_select_magnetic.cc f07a82e 
>   krita/plugins/tools/selectiontools/kis_tool_select_similar.cc 903f066 
>   krita/plugins/tools/tool_transform2/kis_tool_transform.cc 45d4830 
>   krita/sdk/templates/filter/APPNAMELC.cc e2468a7 
>   krita/sdk/tests/testutil.h e477908 
>   krita/ui/canvas/kis_image_pyramid.cpp 6c47ea5 
>   krita/ui/flake/kis_shape_selection.cpp 1154b79 
>   krita/ui/kis_mask_manager.cc 42eafba 
>   krita/ui/kis_png_converter.cpp d98e7be 
>   krita/ui/kis_selection_manager.cc fc8158d 
>   krita/ui/tests/data/HR_SketchPaper_01.pat PRE-CREATION 
>   krita/ui/tests/data/load_test2.kra PRE-CREATION 
>   krita/ui/tests/kis_doc2_test.cpp f436a76 
>   krita/ui/tests/kis_selection_manager_test.cpp 1dc22e7 
>   krita/ui/tests/scratchpad/scratchpad.cpp e2530b8 
>   krita/ui/tool/kis_tool_freehand.cc 7daf27f 
> 
> Diff: http://git.reviewboard.kde.org/r/104771/diff/
> 
> 
> Testing
> -------
> 
> Animtim has been testing a lot and found one unrelated crash and an issue with the transform tool which I fixed. There is still one unittest that's broken because convolution has changed a bit.
> 
> 
> Thanks,
> 
> Boudewijn Rempt
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/calligra-devel/attachments/20120428/f51af93f/attachment.htm>


More information about the calligra-devel mailing list