From kde-kimageshop Fri Aug 17 12:02:59 2007 From: Boudewijn Rempt Date: Fri, 17 Aug 2007 12:02:59 +0000 To: kde-kimageshop Subject: koffice Message-Id: <1187352179.006082.1346.nullmailer () svn ! kde ! org> X-MARC-Message: https://marc.info/?l=kde-kimageshop&m=118735219100476 SVN commit 701132 by rempt: CCMAIL:kimageshop@kde.org * Make masks and layers inherit a common baseclass: KisNode. Create code in krita/image to handle the new layer hierarchy. * Remove KisMetaRegistry * Remove the "super" typedefs * Fix bugs demonstrated by unittests * Add several unittests -- some show that we have some bugs still. * Considerably simplify the api of KisPaintDevice and Kisimage * Add several more options for perfomance and tweak others to give better performance by default * Sanitize the dirty setting of rects * Start working on extracting the prescaling and canvas preview update spaghetti into a separate class. * Re-instate the fast-but-ugly nearest-neighbour scale option (doesn't work yet, is part of the above) Warning: this commit breaks some stuff, notably the adding of layers and masks. Painting, redisplay using QPainter and opengl and selections should be fine, without regressions. I am still working on the layer/mask issue and on the display thing, but apart from these two issues, Krita is reasonably stable again. There are two Umbrello diagrams in krita/doc that show the new layer design and the way the selection classes fit together. M +1 -0 filters/krita/gmagick/kis_image_magick_converter.cc M +12 -11 filters/krita/jpeg/kis_jpeg_converter.cc M +3 -8 filters/krita/jpeg/kis_jpeg_export.cc M +3 -2 filters/krita/openexr/kis_openexr_import.cpp M +1 -0 filters/krita/pdf/kis_pdf_import.cpp M +2 -1 filters/krita/tiff/kis_tiff_converter.cc M +1 -0 filters/krita/tiff/kis_tiff_export.cc M +4 -7 filters/krita/tiff/kis_tiff_writer_visitor.cpp M +2 -2 filters/krita/tiff/kis_tiff_writer_visitor.h M +1 -0 krita/.krazy M +0 -8 krita/CMakeLists.txt M +2 -24 krita/colorspaces/gray_u16/CMakeLists.txt M +2 -1 krita/colorspaces/gray_u16/gray_u16_plugin.cc M +1 -1 krita/colorspaces/gray_u8/kis_gray_colorspace.cc M +3 -2 krita/colorspaces/wet/kis_texture_painter.cc M +0 -2 krita/colorspaces/wet/kis_texture_painter.h M +3 -2 krita/colorspaces/wet/kis_wet_palette_widget.cc M +0 -1 krita/colorspaces/wet/kis_wet_palette_widget.h M +1 -1 krita/colorspaces/wet/kis_wetness_visualisation_filter.cc M +3 -3 krita/colorspaces/wet/kis_wetop.cc M +1 -2 krita/colorspaces/wet/kis_wetop.h M +1 -1 krita/colorspaces/wet/wet_plugin.cc D krita/configure.in.in M +15 -0 krita/design.h M +30 -16 krita/doc/kritalayers.xmi M +4 -6 krita/image/CMakeLists.txt M +22 -11 krita/image/kis_action_recorder.h M +65 -44 krita/image/kis_adjustment_layer.cc M +48 -29 krita/image/kis_adjustment_layer.h M +12 -10 krita/image/kis_annotation.h M +1 -1 krita/image/kis_autogradient_resource.cc M +44 -13 krita/image/kis_base_node.cpp M +63 -7 krita/image/kis_base_node.h M +4 -4 krita/image/kis_brush.cc M +1 -1 krita/image/kis_brush.h M +5 -5 krita/image/kis_change_profile_visitor.h M +6 -4 krita/image/kis_clone_layer.cpp M +8 -6 krita/image/kis_clone_layer.h M +5 -5 krita/image/kis_colorspace_convert_visitor.h M +3 -4 krita/image/kis_convolution_painter.cc M +0 -2 krita/image/kis_convolution_painter.h A krita/image/kis_count_visitor.h [License: GPL (v2+)] M +4 -4 krita/image/kis_crop_visitor.h M +7 -9 krita/image/kis_datamanager.h M +2 -0 krita/image/kis_effect_mask.cc M +4 -1 krita/image/kis_effect_mask.h M +46 -36 krita/image/kis_extent_visitor.h M +10 -6 krita/image/kis_fill_painter.cc M +1 -3 krita/image/kis_fill_painter.h M +4 -2 krita/image/kis_filter_configuration.cc M +3 -1 krita/image/kis_filter_mask.cpp M +3 -1 krita/image/kis_filter_mask.h M +3 -2 krita/image/kis_gradient.cc M +1 -1 krita/image/kis_gradient.h M +16 -17 krita/image/kis_gradient_painter.cc M +0 -2 krita/image/kis_gradient_painter.h M +100 -184 krita/image/kis_group_layer.cc M +36 -121 krita/image/kis_group_layer.h M +3 -3 krita/image/kis_histogram.cc M +185 -206 krita/image/kis_image.cc M +74 -110 krita/image/kis_image.h M +33 -28 krita/image/kis_image_commands.cc M +21 -27 krita/image/kis_image_commands.h D krita/image/kis_image_view_converter.cpp D krita/image/kis_image_view_converter.h D krita/image/kis_imagepipe_brush.cc D krita/image/kis_imagepipe_brush.h M +53 -305 krita/image/kis_layer.cc M +74 -155 krita/image/kis_layer.h M +4 -6 krita/image/kis_layer_commands.cc M +3 -7 krita/image/kis_layer_commands.h D krita/image/kis_layer_visitor.h M +28 -37 krita/image/kis_mask.cc M +24 -12 krita/image/kis_mask.h M +10 -0 krita/image/kis_math_toolbox.cpp M +69 -58 krita/image/kis_math_toolbox.h M +5 -5 krita/image/kis_merge_visitor.h D krita/image/kis_meta_registry.cc D krita/image/kis_meta_registry.h M +41 -5 krita/image/kis_node.cpp M +52 -7 krita/image/kis_node.h M +35 -9 krita/image/kis_node_facade.cpp M +19 -2 krita/image/kis_node_facade.h M +12 -0 krita/image/kis_node_graph_listener.h A krita/image/kis_node_visitor.h krita/image/kis_layer_visitor.h#695577 [License: GPL (v2+)] M +159 -146 krita/image/kis_paint_device.cc M +101 -124 krita/image/kis_paint_device.h A krita/image/kis_paint_device_jobs.h [License: GPL (v2+)] M +4 -29 krita/image/kis_paint_engine.cc M +3 -1 krita/image/kis_paint_engine.h M +15 -33 krita/image/kis_paint_layer.cc M +2 -8 krita/image/kis_paint_layer.h M +3 -2 krita/image/kis_painter.cc M +1 -1 krita/image/kis_painter.h M +27 -5 krita/image/kis_painterly_overlay_colorspace.h M +3 -2 krita/image/kis_pattern.cc M +1 -1 krita/image/kis_pattern.h M +60 -33 krita/image/kis_pixel_selection.cpp M +39 -52 krita/image/kis_pixel_selection.h M +12 -21 krita/image/kis_projection.cc M +17 -8 krita/image/kis_projection.h M +8 -7 krita/image/kis_recorded_action.cc M +10 -10 krita/image/kis_rotate_visitor.cc M +0 -1 krita/image/kis_rotate_visitor.h M +5 -4 krita/image/kis_selected_transaction.cc M +1 -1 krita/image/kis_selected_transaction.h M +52 -27 krita/image/kis_selection.cc M +69 -43 krita/image/kis_selection.h A krita/image/kis_selection_mask.cpp [License: GPL (v2+)] A krita/image/kis_selection_mask.h [License: GPL (v2+)] M +3 -4 krita/image/kis_shared_ptr.h M +7 -3 krita/image/kis_shear_visitor.h M +11 -10 krita/image/kis_transaction.cc M +2 -3 krita/image/kis_transaction.h M +4 -4 krita/image/kis_transform_visitor.h M +12 -4 krita/image/kis_transform_worker.cc M +0 -1 krita/image/kis_transform_worker.h M +4 -2 krita/image/kis_transformation_mask.cpp M +3 -1 krita/image/kis_transformation_mask.h M +5 -2 krita/image/kis_transparency_mask.cc M +3 -14 krita/image/kis_transparency_mask.h M +5 -0 krita/image/kis_types.h M +68 -36 krita/image/tests/CMakeLists.txt A krita/image/tests/data (directory) AM krita/image/tests/data/hakonepa.jpg AM krita/image/tests/data/store_test.kra AM krita/image/tests/data/store_test_out.kra AM krita/image/tests/data/tile.png M +31 -2 krita/image/tests/kis_base_node_test.cpp M +1 -1 krita/image/tests/kis_base_node_test.h A krita/image/tests/kis_count_visitor_test.cpp [License: GPL (v2+)] A krita/image/tests/kis_count_visitor_test.h [License: GPL (v2+)] M +5 -5 krita/image/tests/kis_image_tester.cpp D krita/image/tests/kis_image_view_converter_test.cpp D krita/image/tests/kis_image_view_converter_test.h M +92 -122 krita/image/tests/kis_layer_test.cpp M +88 -1 krita/image/tests/kis_layer_test.h M +52 -11 krita/image/tests/kis_node_facade_test.cpp M +1 -1 krita/image/tests/kis_node_facade_test.h M +56 -11 krita/image/tests/kis_node_test.cpp M +21 -0 krita/image/tests/kis_node_test.h A krita/image/tests/kis_paint_device_test.cpp [License: GPL (v2+)] A krita/image/tests/kis_paint_device_test.h [License: GPL (v2+)] M +1 -0 krita/image/tests/kis_painter_test.cpp M +2 -2 krita/image/tests/kis_painter_test.h A krita/image/tests/kis_pixel_selection_test.cpp [License: GPL (v2+)] A krita/image/tests/kis_pixel_selection_test.h [License: GPL (v2+)] A krita/image/tests/kis_projection_test.cpp [License: GPL (v2+)] A krita/image/tests/kis_projection_test.h [License: GPL (v2+)] M +49 -9 krita/image/tests/kis_selection_test.cpp M +1 -0 krita/image/tests/kis_selection_test.h A krita/image/tests/kis_transaction_test.cpp [License: GPL (v2+)] A krita/image/tests/kis_transaction_test.h [License: GPL (v2+)] A krita/image/tests/testutil.h [License: GPL (v2+)] M +0 -7 krita/image/tiles/kis_tileddatamanager.cc M +1 -5 krita/image/tiles/kis_tileddatamanager.h M +1 -1 krita/plugins/filters/cimg/kis_cimg_filter.cc M +2 -2 krita/plugins/filters/cubismfilter/kis_cubism_filter.cc M +1 -1 krita/plugins/filters/fastcolortransfer/fastcolortransfer.cc M +1 -1 krita/plugins/filters/imageenhancement/kis_simple_noise_reducer.cpp M +1 -2 krita/plugins/filters/imageenhancement/kis_wavelet_noise_reduction.cpp M +3 -1 krita/plugins/paintops/cpaint/kis_cpaintop.cc M +0 -2 krita/plugins/paintops/cpaint/kis_cpaintop.h M +1 -1 krita/plugins/paintops/cpaint/stroke.cpp M +3 -2 krita/plugins/paintops/defaultpaintops/kis_airbrushop.cc M +0 -2 krita/plugins/paintops/defaultpaintops/kis_airbrushop.h M +3 -3 krita/plugins/paintops/defaultpaintops/kis_brushop.cc M +1 -3 krita/plugins/paintops/defaultpaintops/kis_brushop.h M +1 -1 krita/plugins/paintops/defaultpaintops/kis_convolveop.cc M +0 -2 krita/plugins/paintops/defaultpaintops/kis_convolveop.h M +4 -2 krita/plugins/paintops/defaultpaintops/kis_duplicateop.cc M +0 -3 krita/plugins/paintops/defaultpaintops/kis_duplicateop.h M +2 -1 krita/plugins/paintops/defaultpaintops/kis_eraseop.cc M +0 -2 krita/plugins/paintops/defaultpaintops/kis_eraseop.h M +2 -1 krita/plugins/paintops/defaultpaintops/kis_penop.cc M +0 -2 krita/plugins/paintops/defaultpaintops/kis_penop.h M +5 -5 krita/plugins/paintops/dynamicbrush/kis_dynamicop.cc M +1 -3 krita/plugins/paintops/dynamicbrush/kis_dynamicop.h M +3 -0 krita/plugins/paintops/dynamicbrush/lib/kis_dynamic_coloring.cc M +6 -3 krita/plugins/paintops/dynamicbrush/lib/shapes/kis_bristle_shape.cc M +1 -1 krita/plugins/paintops/dynamicbrush/lib/shapes/kis_dab_shape.h M +1 -1 krita/plugins/paintops/filterop/kis_filterop.cc M +0 -2 krita/plugins/paintops/filterop/kis_filterop.h M +2 -1 krita/plugins/paintops/smearybrush/kis_smearyop.cc M +0 -2 krita/plugins/paintops/smearybrush/kis_smearyop.h M +1 -1 krita/plugins/tools/defaulttools/kis_tool_duplicate.cc M +6 -6 krita/plugins/tools/selectiontools/kis_tool_select_contiguous.cc M +6 -6 krita/plugins/tools/selectiontools/kis_tool_select_elliptical.cc M +7 -7 krita/plugins/tools/selectiontools/kis_tool_select_outline.cc M +6 -6 krita/plugins/tools/selectiontools/kis_tool_select_path.cc M +7 -7 krita/plugins/tools/selectiontools/kis_tool_select_polygonal.cc M +6 -6 krita/plugins/tools/selectiontools/kis_tool_select_rectangular.cc M +1 -1 krita/plugins/tools/tool_curves/kis_tool_bezier.cc M +1 -1 krita/plugins/tools/tool_curves/kis_tool_example.cc M +1 -1 krita/plugins/tools/tool_perspectivegrid/kis_tool_perspectivegrid.cc M +1 -1 krita/plugins/viewplugins/bracketing2hdr/bracketing2hdr.cc M +3 -3 krita/plugins/viewplugins/colorrange/dlg_colorrange.cc M +1 -1 krita/plugins/viewplugins/colorspaceconversion/colorspaceconversion.cc M +3 -3 krita/plugins/viewplugins/dropshadow/kis_dropshadow.cc M +1 -1 krita/plugins/viewplugins/filtersgallery/filters_gallery.cc M +1 -1 krita/plugins/viewplugins/painterlymixer/colorspot.cpp M +0 -2 krita/plugins/viewplugins/painterlymixer/colorspot.h M +15 -15 krita/plugins/viewplugins/panorama/panorama.cc M +1 -1 krita/plugins/viewplugins/performancetest/perftest.cc M +1 -1 krita/plugins/viewplugins/rotateimage/wdg_rotateimage.ui M +1 -2 krita/plugins/viewplugins/scripting/kritacore/krs_const_paint_device.cpp M +1 -1 krita/plugins/viewplugins/scripting/kritacore/krs_image.cpp M +1 -1 krita/plugins/viewplugins/scripting/kritacore/krs_module.cpp M +1 -1 krita/plugins/viewplugins/scripting/kritacore/krs_monitor.cpp M +1 -2 krita/plugins/viewplugins/scripting/kritacore/krs_paint_device.cpp M +1 -1 krita/plugins/viewplugins/separate_channels/kis_channel_separator.cc M +3 -1 krita/shape/KritaShape.cpp M +5 -1 krita/ui/CMakeLists.txt M +1 -1 krita/ui/kis_brush_chooser.cc M +1 -1 krita/ui/kis_brush_chooser.h M +54 -32 krita/ui/kis_canvas2.cpp M +2 -2 krita/ui/kis_canvas2.h M +1 -1 krita/ui/kis_clipboard.cc M +5 -5 krita/ui/kis_cmb_composite.cc M +0 -1 krita/ui/kis_cmb_composite.h M +5 -5 krita/ui/kis_cmb_idlist.cc M +0 -2 krita/ui/kis_cmb_idlist.h M +55 -38 krita/ui/kis_config.cc M +19 -9 krita/ui/kis_config.h M +5 -5 krita/ui/kis_custom_brush.cc M +6 -4 krita/ui/kis_custom_image_widget.cc M +1 -1 krita/ui/kis_dlg_adj_layer_props.cc M +2 -2 krita/ui/kis_dlg_apply_profile.cc M +0 -1 krita/ui/kis_dlg_apply_profile.h M +2 -2 krita/ui/kis_dlg_image_properties.cc M +2 -2 krita/ui/kis_dlg_image_properties.h M +1 -1 krita/ui/kis_dlg_layer_properties.cc M +1 -1 krita/ui/kis_dlg_layer_properties.h M +2 -2 krita/ui/kis_dlg_new_layer.cc M +1 -1 krita/ui/kis_dlg_new_layer.h M +6 -34 krita/ui/kis_dlg_preferences.cc M +10 -14 krita/ui/kis_dlg_preferences.h M +9 -7 krita/ui/kis_doc2.cc M +3 -3 krita/ui/kis_doc2.h M +2 -2 krita/ui/kis_double_widget.cc M +0 -1 krita/ui/kis_double_widget.h M +1 -0 krita/ui/kis_filters_listview.cc M +1 -1 krita/ui/kis_gradient_chooser.cc M +1 -1 krita/ui/kis_gradient_chooser.h M +2 -1 krita/ui/kis_iconwidget.cc M +1 -1 krita/ui/kis_iconwidget.h A krita/ui/kis_image_view_converter.cpp krita/image/kis_image_view_converter.cpp#700056 [License: GPL (v2+)] A krita/ui/kis_image_view_converter.h krita/image/kis_image_view_converter.h#700056 [License: GPL (v2+)] A krita/ui/kis_imagepipe_brush.cc krita/image/kis_imagepipe_brush.cc#700056 [License: GPL (v2+)] A krita/ui/kis_imagepipe_brush.h krita/image/kis_imagepipe_brush.h#700056 [License: GPL (v2+)] M +13 -6 krita/ui/kis_import_catcher.cc M +2 -1 krita/ui/kis_itemchooser.cc M +1 -1 krita/ui/kis_itemchooser.h M +2 -1 krita/ui/kis_label_cursor_pos.cc M +0 -1 krita/ui/kis_label_cursor_pos.h M +3 -2 krita/ui/kis_label_progress.cc M +0 -1 krita/ui/kis_label_progress.h M +35 -33 krita/ui/kis_layer_manager.cc M +6 -6 krita/ui/kis_layer_manager.h D krita/ui/kis_layer_model.cpp D krita/ui/kis_layer_model.h M +21 -21 krita/ui/kis_layerbox.cc M +3 -3 krita/ui/kis_layerbox.h M +71 -59 krita/ui/kis_layermap_visitor.cc M +16 -9 krita/ui/kis_layermap_visitor.h M +4 -10 krita/ui/kis_load_visitor.cc M +2 -2 krita/ui/kis_load_visitor.h M +16 -16 krita/ui/kis_mask_manager.cc M +7 -0 krita/ui/kis_mask_shape.cc M +2 -0 krita/ui/kis_mask_shape.h A krita/ui/kis_node_mode.cpp krita/ui/kis_layer_model.cpp#699176 [License: GPL (v2+)] A krita/ui/kis_node_mode.h krita/ui/kis_layer_model.h#699176 [License: GPL (v2+)] A krita/ui/kis_node_model.cpp [License: GPL (v2+)] A krita/ui/kis_node_model.h [License: GPL (v2+)] M +1 -1 krita/ui/kis_oasis_load_visitor.cc M +1 -6 krita/ui/kis_oasis_save_data_visitor.cc M +2 -2 krita/ui/kis_oasis_save_data_visitor.h M +1 -7 krita/ui/kis_oasis_save_visitor.cc M +2 -2 krita/ui/kis_oasis_save_visitor.h M +1 -1 krita/ui/kis_opengl_hdr_exposure_program.cpp M +1 -1 krita/ui/kis_opengl_hdr_exposure_program.h M +1 -1 krita/ui/kis_opengl_image_textures.cpp M +1 -1 krita/ui/kis_palette_view.cc M +1 -1 krita/ui/kis_pattern_chooser.cc M +1 -1 krita/ui/kis_pattern_chooser.h M +22 -19 krita/ui/kis_png_converter.cpp A krita/ui/kis_prescaled_projection.cpp [License: GPL (v2+)] A krita/ui/kis_prescaled_projection.h [License: GPL (v2+)] M +1 -1 krita/ui/kis_previewdialog.cc M +1 -1 krita/ui/kis_previewdialog.h M +1 -1 krita/ui/kis_previewwidget.cc M +59 -54 krita/ui/kis_qpainter_canvas.cpp M +1 -1 krita/ui/kis_qpainter_image_context.cpp M +2 -1 krita/ui/kis_resource_mediator.cc M +1 -2 krita/ui/kis_resource_mediator.h M +1 -2 krita/ui/kis_resourceserver.h M +2 -9 krita/ui/kis_save_visitor.cc M +2 -2 krita/ui/kis_save_visitor.h M +2 -9 krita/ui/kis_savexml_visitor.cc M +2 -2 krita/ui/kis_savexml_visitor.h M +14 -12 krita/ui/kis_selection_manager.cc M +0 -2 krita/ui/kis_selection_options.h M +7 -60 krita/ui/kis_shape_controller.cpp M +3 -10 krita/ui/kis_shape_controller.h M +4 -2 krita/ui/kis_shape_layer.cc M +3 -12 krita/ui/kis_shape_layer.h M +5 -3 krita/ui/kis_shape_selection.cpp M +5 -151 krita/ui/kis_tool_freehand.cc M +3 -3 krita/ui/kis_tool_freehand.h A krita/ui/kis_tool_freehand_p.cpp [License: GPL (v2+)] A krita/ui/kis_tool_freehand_p.h [License: GPL (v2+)] M +16 -8 krita/ui/kis_view2.cpp M +1 -0 krita/ui/kis_view2.h M +19 -3 krita/ui/tests/CMakeLists.txt M +0 -2 krita/ui/tests/kis_files_test.cpp A krita/ui/tests/kis_image_view_converter_test.cpp krita/image/tests/kis_image_view_converter_test.cpp#700056 [License: GPL (v2+)] A krita/ui/tests/kis_image_view_converter_test.h krita/image/tests/kis_image_view_converter_test.h#700056 [License: GPL (v2+)] D krita/ui/tests/kis_layer_model_test.cpp D krita/ui/tests/kis_layer_model_test.h A krita/ui/tests/kis_node_model_test.cpp krita/ui/tests/kis_layer_model_test.cpp#699176 [License: GPL (v2+)] A krita/ui/tests/kis_node_model_test.h krita/ui/tests/kis_layer_model_test.h#699176 [License: GPL (v2+)] A krita/ui/tests/kis_prescaled_projection_test.cpp [License: GPL (v2+)] A krita/ui/tests/kis_prescaled_projection_test.h [License: GPL (v2+)] M +5 -8 krita/ui/tests/kis_shape_controller_test.cpp M +0 -50 krita/ui/wdggeneralsettings.ui M +14 -1 krita/ui/wdgperformancesettings.ui _______________________________________________ kimageshop mailing list kimageshop@kde.org https://mail.kde.org/mailman/listinfo/kimageshop