diff --git a/libs/ui/CMakeLists.txt b/libs/ui/CMakeLists.txt
index 99fce40e73..c34319e3e7 100644
--- a/libs/ui/CMakeLists.txt
+++ b/libs/ui/CMakeLists.txt
@@ -1,634 +1,645 @@
include_directories(
${CMAKE_CURRENT_SOURCE_DIR}/qtlockedfile
)
include_directories(SYSTEM
${EIGEN3_INCLUDE_DIR}
${OCIO_INCLUDE_DIR}
)
if (ANDROID)
add_definitions(-DQT_OPENGL_ES_3)
add_definitions(-DHAS_ONLY_OPENGL_ES)
include_directories (${Qt5AndroidExtras_INCLUDE_DIRS})
endif()
add_subdirectory( tests )
if (APPLE)
find_library(FOUNDATION_LIBRARY Foundation)
find_library(APPKIT_LIBRARY AppKit)
endif ()
set(kritaui_LIB_SRCS
canvas/kis_canvas_widget_base.cpp
canvas/kis_canvas2.cpp
canvas/kis_canvas_updates_compressor.cpp
canvas/kis_canvas_controller.cpp
canvas/kis_display_color_converter.cpp
canvas/kis_display_filter.cpp
canvas/kis_exposure_gamma_correction_interface.cpp
canvas/kis_tool_proxy.cpp
canvas/kis_canvas_decoration.cc
canvas/kis_coordinates_converter.cpp
canvas/kis_grid_manager.cpp
canvas/kis_grid_decoration.cpp
canvas/kis_grid_config.cpp
canvas/kis_prescaled_projection.cpp
canvas/kis_qpainter_canvas.cpp
canvas/kis_projection_backend.cpp
canvas/kis_update_info.cpp
canvas/kis_image_patch.cpp
canvas/kis_image_pyramid.cpp
canvas/kis_infinity_manager.cpp
canvas/kis_change_guides_command.cpp
canvas/kis_guides_decoration.cpp
canvas/kis_guides_manager.cpp
canvas/kis_guides_config.cpp
canvas/kis_snap_config.cpp
canvas/kis_snap_line_strategy.cpp
canvas/KisSnapPointStrategy.cpp
canvas/KisSnapPixelStrategy.cpp
canvas/KisMirrorAxisConfig.cpp
dialogs/kis_about_application.cpp
dialogs/kis_dlg_adj_layer_props.cc
dialogs/kis_dlg_adjustment_layer.cc
dialogs/kis_dlg_filter.cpp
dialogs/kis_dlg_generator_layer.cpp
dialogs/kis_dlg_file_layer.cpp
dialogs/kis_dlg_filter.cpp
dialogs/kis_dlg_stroke_selection_properties.cpp
dialogs/kis_dlg_image_properties.cc
dialogs/kis_dlg_layer_properties.cc
dialogs/kis_dlg_preferences.cc
dialogs/slider_and_spin_box_sync.cpp
dialogs/kis_dlg_blacklist_cleanup.cpp
dialogs/kis_dlg_layer_style.cpp
dialogs/kis_dlg_png_import.cpp
dialogs/kis_dlg_import_image_sequence.cpp
dialogs/kis_delayed_save_dialog.cpp
dialogs/KisSessionManagerDialog.cpp
dialogs/KisNewWindowLayoutDialog.cpp
dialogs/KisDlgChangeCloneSource.cpp
flake/kis_node_dummies_graph.cpp
flake/kis_dummies_facade_base.cpp
flake/kis_dummies_facade.cpp
flake/kis_node_shapes_graph.cpp
flake/kis_node_shape.cpp
flake/kis_shape_controller.cpp
flake/kis_shape_layer.cc
flake/kis_shape_layer_canvas.cpp
flake/kis_shape_selection.cpp
flake/kis_shape_selection_canvas.cpp
flake/kis_shape_selection_model.cpp
flake/kis_take_all_shapes_command.cpp
brushhud/kis_uniform_paintop_property_widget.cpp
brushhud/kis_brush_hud.cpp
brushhud/kis_round_hud_button.cpp
brushhud/kis_dlg_brush_hud_config.cpp
brushhud/kis_brush_hud_properties_list.cpp
brushhud/kis_brush_hud_properties_config.cpp
kis_aspect_ratio_locker.cpp
kis_autogradient.cc
kis_bookmarked_configurations_editor.cc
kis_bookmarked_configurations_model.cc
kis_bookmarked_filter_configurations_model.cc
KisPaintopPropertiesBase.cpp
kis_canvas_resource_provider.cpp
kis_derived_resources.cpp
kis_categories_mapper.cpp
kis_categorized_list_model.cpp
kis_categorized_item_delegate.cpp
kis_clipboard.cc
kis_config.cc
KisOcioConfiguration.cpp
kis_control_frame.cpp
kis_composite_ops_model.cc
kis_paint_ops_model.cpp
kis_cursor.cc
kis_cursor_cache.cpp
kis_custom_pattern.cc
kis_file_layer.cpp
kis_change_file_layer_command.h
kis_safe_document_loader.cpp
kis_splash_screen.cpp
kis_filter_manager.cc
kis_filters_model.cc
KisImageBarrierLockerWithFeedback.cpp
kis_image_manager.cc
kis_image_view_converter.cpp
kis_import_catcher.cc
kis_layer_manager.cc
kis_mask_manager.cc
kis_mimedata.cpp
kis_node_commands_adapter.cpp
kis_node_manager.cpp
kis_node_juggler_compressed.cpp
kis_node_selection_adapter.cpp
kis_node_insertion_adapter.cpp
KisNodeDisplayModeAdapter.cpp
kis_node_model.cpp
kis_node_filter_proxy_model.cpp
kis_model_index_converter_base.cpp
kis_model_index_converter.cpp
kis_model_index_converter_show_all.cpp
kis_painting_assistant.cc
kis_painting_assistants_decoration.cpp
KisDecorationsManager.cpp
kis_paintop_box.cc
kis_paintop_option.cpp
kis_paintop_options_model.cpp
kis_paintop_settings_widget.cpp
kis_popup_palette.cpp
kis_png_converter.cpp
kis_preference_set_registry.cpp
KisResourceServerProvider.cpp
KisResourceBundleServerProvider.cpp
KisSelectedShapesProxy.cpp
kis_selection_decoration.cc
kis_selection_manager.cc
KisSelectionActionsAdapter.cpp
kis_statusbar.cc
kis_zoom_manager.cc
kis_favorite_resource_manager.cpp
kis_workspace_resource.cpp
kis_action.cpp
kis_action_manager.cpp
KisActionPlugin.cpp
kis_canvas_controls_manager.cpp
kis_tooltip_manager.cpp
kis_multinode_property.cpp
kis_stopgradient_editor.cpp
KisWelcomePageWidget.cpp
KisChangeCloneLayersCommand.cpp
kisexiv2/kis_exif_io.cpp
kisexiv2/kis_exiv2.cpp
kisexiv2/kis_iptc_io.cpp
kisexiv2/kis_xmp_io.cpp
opengl/kis_opengl.cpp
opengl/kis_opengl_canvas2.cpp
opengl/kis_opengl_canvas_debugger.cpp
opengl/kis_opengl_image_textures.cpp
opengl/kis_texture_tile.cpp
opengl/kis_opengl_shader_loader.cpp
opengl/kis_texture_tile_info_pool.cpp
opengl/KisOpenGLUpdateInfoBuilder.cpp
opengl/KisOpenGLModeProber.cpp
opengl/KisScreenInformationAdapter.cpp
kis_fps_decoration.cpp
tool/KisToolChangesTracker.cpp
tool/KisToolChangesTrackerData.cpp
tool/kis_selection_tool_helper.cpp
tool/kis_selection_tool_config_widget_helper.cpp
tool/kis_rectangle_constraint_widget.cpp
tool/kis_shape_tool_helper.cpp
tool/kis_tool.cc
tool/kis_delegated_tool_policies.cpp
tool/kis_tool_freehand.cc
tool/kis_speed_smoother.cpp
tool/kis_painting_information_builder.cpp
tool/kis_stabilized_events_sampler.cpp
tool/kis_tool_freehand_helper.cpp
tool/kis_tool_multihand_helper.cpp
tool/kis_figure_painting_tool_helper.cpp
tool/KisAsyncronousStrokeUpdateHelper.cpp
tool/kis_tool_paint.cc
tool/kis_tool_shape.cc
tool/kis_tool_ellipse_base.cpp
tool/kis_tool_rectangle_base.cpp
tool/kis_tool_polyline_base.cpp
tool/kis_tool_utils.cpp
tool/kis_resources_snapshot.cpp
tool/kis_smoothing_options.cpp
tool/KisStabilizerDelayedPaintHelper.cpp
tool/KisStrokeSpeedMonitor.cpp
tool/strokes/freehand_stroke.cpp
tool/strokes/KisStrokeEfficiencyMeasurer.cpp
tool/strokes/kis_painter_based_stroke_strategy.cpp
tool/strokes/kis_filter_stroke_strategy.cpp
tool/strokes/kis_color_picker_stroke_strategy.cpp
tool/strokes/KisFreehandStrokeInfo.cpp
tool/strokes/KisMaskedFreehandStrokePainter.cpp
tool/strokes/KisMaskingBrushRenderer.cpp
tool/strokes/KisMaskingBrushCompositeOpFactory.cpp
tool/strokes/move_stroke_strategy.cpp
tool/KisSelectionToolFactoryBase.cpp
tool/KisToolPaintFactoryBase.cpp
widgets/kis_cmb_composite.cc
widgets/kis_cmb_contour.cpp
widgets/kis_cmb_gradient.cpp
widgets/kis_paintop_list_widget.cpp
widgets/kis_cmb_idlist.cc
widgets/kis_color_space_selector.cc
widgets/kis_advanced_color_space_selector.cc
widgets/kis_cie_tongue_widget.cpp
widgets/kis_tone_curve_widget.cpp
widgets/kis_curve_widget.cpp
widgets/kis_custom_image_widget.cc
widgets/kis_image_from_clipboard_widget.cpp
widgets/kis_double_widget.cc
widgets/kis_filter_selector_widget.cc
widgets/kis_gradient_chooser.cc
widgets/kis_iconwidget.cc
widgets/kis_mask_widgets.cpp
widgets/kis_meta_data_merge_strategy_chooser_widget.cc
widgets/kis_multi_bool_filter_widget.cc
widgets/kis_multi_double_filter_widget.cc
widgets/kis_multi_integer_filter_widget.cc
widgets/kis_multipliers_double_slider_spinbox.cpp
widgets/kis_paintop_presets_popup.cpp
widgets/kis_tool_options_popup.cpp
widgets/kis_paintop_presets_chooser_popup.cpp
widgets/kis_paintop_presets_save.cpp
widgets/kis_paintop_preset_icon_library.cpp
widgets/kis_pattern_chooser.cc
widgets/kis_preset_chooser.cpp
widgets/kis_progress_widget.cpp
widgets/kis_selection_options.cc
widgets/kis_scratch_pad.cpp
widgets/kis_scratch_pad_event_filter.cpp
widgets/kis_preset_selector_strip.cpp
widgets/kis_slider_spin_box.cpp
widgets/KisSelectionPropertySlider.cpp
widgets/kis_size_group.cpp
widgets/kis_size_group_p.cpp
widgets/kis_wdg_generator.cpp
widgets/kis_workspace_chooser.cpp
widgets/kis_categorized_list_view.cpp
widgets/kis_widget_chooser.cpp
widgets/kis_tool_button.cpp
widgets/kis_floating_message.cpp
widgets/kis_lod_availability_widget.cpp
widgets/kis_color_label_selector_widget.cpp
widgets/kis_color_filter_combo.cpp
widgets/kis_elided_label.cpp
widgets/kis_stopgradient_slider_widget.cpp
widgets/kis_preset_live_preview_view.cpp
widgets/KisScreenColorPicker.cpp
widgets/KoDualColorButton.cpp
widgets/KoStrokeConfigWidget.cpp
widgets/KoFillConfigWidget.cpp
widgets/KisLayerStyleAngleSelector.cpp
widgets/KisMemoryReportButton.cpp
widgets/KisDitherWidget.cpp
KisPaletteEditor.cpp
dialogs/KisDlgPaletteEditor.cpp
widgets/KisNewsWidget.cpp
widgets/KisGamutMaskToolbar.cpp
utils/kis_document_aware_spin_box_unit_manager.cpp
utils/KisSpinBoxSplineUnitConverter.cpp
utils/KisClipboardUtil.cpp
utils/KisDitherUtil.cpp
+ utils/KisUpdaterBase.cpp
+ utils/KisManualUpdater.cpp
+ utils/KisUpdaterStatus.cpp
input/kis_input_manager.cpp
input/kis_input_manager_p.cpp
input/kis_extended_modifiers_mapper.cpp
input/kis_abstract_input_action.cpp
input/kis_tool_invocation_action.cpp
input/kis_pan_action.cpp
input/kis_alternate_invocation_action.cpp
input/kis_rotate_canvas_action.cpp
input/kis_zoom_action.cpp
input/kis_change_frame_action.cpp
input/kis_gamma_exposure_action.cpp
input/kis_show_palette_action.cpp
input/kis_change_primary_setting_action.cpp
input/kis_abstract_shortcut.cpp
input/kis_native_gesture_shortcut.cpp
input/kis_single_action_shortcut.cpp
input/kis_stroke_shortcut.cpp
input/kis_shortcut_matcher.cpp
input/kis_select_layer_action.cpp
input/KisQtWidgetsTweaker.cpp
input/KisInputActionGroup.cpp
input/kis_zoom_and_rotate_action.cpp
operations/kis_operation.cpp
operations/kis_operation_configuration.cpp
operations/kis_operation_registry.cpp
operations/kis_operation_ui_factory.cpp
operations/kis_operation_ui_widget.cpp
operations/kis_filter_selection_operation.cpp
actions/kis_selection_action_factories.cpp
actions/KisPasteActionFactories.cpp
actions/KisTransformToolActivationCommand.cpp
input/kis_touch_shortcut.cpp
kis_document_undo_store.cpp
kis_gui_context_command.cpp
kis_gui_context_command_p.cpp
input/kis_tablet_debugger.cpp
input/kis_input_profile_manager.cpp
input/kis_input_profile.cpp
input/kis_shortcut_configuration.cpp
input/config/kis_input_configuration_page.cpp
input/config/kis_edit_profiles_dialog.cpp
input/config/kis_input_profile_model.cpp
input/config/kis_input_configuration_page_item.cpp
input/config/kis_action_shortcuts_model.cpp
input/config/kis_input_type_delegate.cpp
input/config/kis_input_mode_delegate.cpp
input/config/kis_input_button.cpp
input/config/kis_input_editor_delegate.cpp
input/config/kis_mouse_input_editor.cpp
input/config/kis_wheel_input_editor.cpp
input/config/kis_key_input_editor.cpp
processing/fill_processing_visitor.cpp
kis_asl_layer_style_serializer.cpp
kis_psd_layer_style_resource.cpp
canvas/kis_mirror_axis.cpp
kis_abstract_perspective_grid.cpp
KisApplication.cpp
KisAutoSaveRecoveryDialog.cpp
KisDetailsPane.cpp
KisDocument.cpp
KisCloneDocumentStroke.cpp
kis_node_view_color_scheme.cpp
KisImportExportFilter.cpp
KisImportExportManager.cpp
KisImportExportUtils.cpp
kis_async_action_feedback.cpp
KisMainWindow.cpp
KisOpenPane.cpp
KisPart.cpp
KisPrintJob.cpp
KisTemplate.cpp
KisTemplateCreateDia.cpp
KisTemplateGroup.cpp
KisTemplates.cpp
KisTemplatesPane.cpp
KisTemplateTree.cpp
KisUndoActionsUpdateManager.cpp
KisView.cpp
KisCanvasWindow.cpp
KisImportExportErrorCode.cpp
KisImportExportAdditionalChecks.cpp
thememanager.cpp
kis_mainwindow_observer.cpp
KisViewManager.cpp
kis_mirror_manager.cpp
qtlockedfile/qtlockedfile.cpp
qtsingleapplication/qtlocalpeer.cpp
qtsingleapplication/qtsingleapplication.cpp
KisResourceBundle.cpp
KisResourceBundleManifest.cpp
kis_md5_generator.cpp
KisApplicationArguments.cpp
KisNetworkAccessManager.cpp
+ KisRssReader.cpp
KisMultiFeedRSSModel.cpp
KisRemoteFileFetcher.cpp
KisSaveGroupVisitor.cpp
KisWindowLayoutResource.cpp
KisWindowLayoutManager.cpp
KisSessionResource.cpp
KisReferenceImagesDecoration.cpp
KisReferenceImage.cpp
flake/KisReferenceImagesLayer.cpp
flake/KisReferenceImagesLayer.h
KisMouseClickEater.cpp
KisDecorationsWrapperLayer.cpp
)
if(WIN32)
# Private headers are needed for:
# * KisDlgCustomTabletResolution
# * KisScreenInformationAdapter
include_directories(SYSTEM ${Qt5Gui_PRIVATE_INCLUDE_DIRS})
set(kritaui_LIB_SRCS
${kritaui_LIB_SRCS}
qtlockedfile/qtlockedfile_win.cpp
)
if (NOT USE_QT_TABLET_WINDOWS)
set(kritaui_LIB_SRCS
${kritaui_LIB_SRCS}
input/wintab/kis_tablet_support_win.cpp
input/wintab/kis_screen_size_choice_dialog.cpp
input/wintab/kis_tablet_support_win8.cpp
)
else()
set(kritaui_LIB_SRCS
${kritaui_LIB_SRCS}
dialogs/KisDlgCustomTabletResolution.cpp
)
endif()
endif()
set(kritaui_LIB_SRCS
${kritaui_LIB_SRCS}
kis_animation_frame_cache.cpp
kis_animation_cache_populator.cpp
KisAsyncAnimationRendererBase.cpp
KisAsyncAnimationCacheRenderer.cpp
KisAsyncAnimationFramesSavingRenderer.cpp
dialogs/KisAsyncAnimationRenderDialogBase.cpp
dialogs/KisAsyncAnimationCacheRenderDialog.cpp
dialogs/KisAsyncAnimationFramesSaveDialog.cpp
canvas/kis_animation_player.cpp
kis_animation_importer.cpp
KisSyncedAudioPlayback.cpp
KisFrameDataSerializer.cpp
KisFrameCacheStore.cpp
KisFrameCacheSwapper.cpp
KisAbstractFrameCacheSwapper.cpp
KisInMemoryFrameCacheSwapper.cpp
input/wintab/drawpile_tablettester/tablettester.cpp
input/wintab/drawpile_tablettester/tablettest.cpp
)
if (UNIX)
set(kritaui_LIB_SRCS
${kritaui_LIB_SRCS}
qtlockedfile/qtlockedfile_unix.cpp
+ utils/KisAppimageUpdater.cpp
)
endif()
if(APPLE)
set(kritaui_LIB_SRCS
${kritaui_LIB_SRCS}
osx.mm
)
endif()
if (ANDROID)
set (kritaui_LIB_SRCS ${kritaui_LIB_SRCS} KisAndroidFileManager.cpp)
endif()
ki18n_wrap_ui(kritaui_LIB_SRCS
widgets/KoFillConfigWidget.ui
widgets/KoStrokeConfigWidget.ui
widgets/KisDitherWidget.ui
forms/wdgdlgpngimport.ui
forms/wdgfullscreensettings.ui
forms/wdgautogradient.ui
forms/wdggeneralsettings.ui
forms/wdgperformancesettings.ui
forms/wdggenerators.ui
forms/wdgbookmarkedconfigurationseditor.ui
forms/wdgapplyprofile.ui
forms/wdgcustompattern.ui
forms/wdglayerproperties.ui
forms/wdgcolorsettings.ui
forms/wdgtabletsettings.ui
forms/wdgcolorspaceselector.ui
forms/wdgcolorspaceselectoradvanced.ui
forms/wdgdisplaysettings.ui
forms/kis_previewwidgetbase.ui
forms/kis_matrix_widget.ui
forms/wdgselectionoptions.ui
forms/wdggeometryoptions.ui
forms/wdgnewimage.ui
forms/wdgimageproperties.ui
forms/wdgmaskfromselection.ui
forms/wdgmasksource.ui
forms/wdgfilterdialog.ui
forms/wdgmetadatamergestrategychooser.ui
forms/wdgpaintoppresets.ui
forms/wdgpaintopsettings.ui
forms/wdgdlggeneratorlayer.ui
forms/wdgdlgfilelayer.ui
forms/wdgfilterselector.ui
forms/wdgfilternodecreation.ui
forms/wdgmultipliersdoublesliderspinbox.ui
forms/wdgnodequerypatheditor.ui
forms/wdgpresetselectorstrip.ui
forms/wdgsavebrushpreset.ui
forms/wdgpreseticonlibrary.ui
forms/wdgdlgblacklistcleanup.ui
forms/wdgrectangleconstraints.ui
forms/wdgimportimagesequence.ui
forms/wdgstrokeselectionproperties.ui
forms/KisDetailsPaneBase.ui
forms/KisOpenPaneBase.ui
forms/wdgstopgradienteditor.ui
forms/wdgsessionmanager.ui
forms/wdgnewwindowlayout.ui
forms/KisWelcomePage.ui
forms/WdgDlgPaletteEditor.ui
forms/KisNewsPage.ui
forms/wdgGamutMaskToolbar.ui
forms/wdgchangeclonesource.ui
brushhud/kis_dlg_brush_hud_config.ui
dialogs/kis_delayed_save_dialog.ui
input/config/kis_input_configuration_page.ui
input/config/kis_edit_profiles_dialog.ui
input/config/kis_input_configuration_page_item.ui
input/config/kis_mouse_input_editor.ui
input/config/kis_wheel_input_editor.ui
input/config/kis_key_input_editor.ui
layerstyles/wdgBevelAndEmboss.ui
layerstyles/wdgblendingoptions.ui
layerstyles/WdgColorOverlay.ui
layerstyles/wdgContour.ui
layerstyles/wdgdropshadow.ui
layerstyles/WdgGradientOverlay.ui
layerstyles/wdgInnerGlow.ui
layerstyles/wdglayerstyles.ui
layerstyles/WdgPatternOverlay.ui
layerstyles/WdgSatin.ui
layerstyles/WdgStroke.ui
layerstyles/wdgstylesselector.ui
layerstyles/wdgTexture.ui
layerstyles/wdgKisLayerStyleAngleSelector.ui
wdgsplash.ui
input/wintab/kis_screen_size_choice_dialog.ui
input/wintab/drawpile_tablettester/tablettest.ui
)
if(WIN32)
if(USE_QT_TABLET_WINDOWS)
ki18n_wrap_ui(kritaui_LIB_SRCS
dialogs/KisDlgCustomTabletResolution.ui
)
else()
ki18n_wrap_ui(kritaui_LIB_SRCS
input/wintab/kis_screen_size_choice_dialog.ui
)
endif()
endif()
add_library(kritaui SHARED ${kritaui_HEADERS_MOC} ${kritaui_LIB_SRCS} )
generate_export_header(kritaui BASE_NAME kritaui)
target_link_libraries(kritaui KF5::CoreAddons KF5::Completion KF5::I18n KF5::ItemViews Qt5::Network
- kritaimpex kritacolor kritaimage kritalibbrush kritawidgets kritawidgetutils ${PNG_LIBRARIES} LibExiv2::LibExiv2
+ kritaversion kritaimpex kritacolor kritaimage kritalibbrush kritawidgets kritawidgetutils ${PNG_LIBRARIES} LibExiv2::LibExiv2
)
if (ANDROID)
target_link_libraries(kritaui GLESv3)
target_link_libraries(kritaui Qt5::Gui)
target_link_libraries(kritaui Qt5::AndroidExtras)
endif()
if (HAVE_QT_MULTIMEDIA)
target_link_libraries(kritaui Qt5::Multimedia)
endif()
if (NOT WIN32 AND NOT APPLE AND NOT ANDROID)
target_link_libraries(kritaui ${X11_X11_LIB}
${X11_Xinput_LIB})
endif()
if(APPLE)
target_link_libraries(kritaui ${FOUNDATION_LIBRARY})
target_link_libraries(kritaui ${APPKIT_LIBRARY})
endif ()
target_link_libraries(kritaui ${OPENEXR_LIBRARIES})
# Add VSync disable workaround
if(NOT WIN32 AND NOT APPLE AND NOT ANDROID)
target_link_libraries(kritaui ${CMAKE_DL_LIBS} Qt5::X11Extras)
endif()
if(X11_FOUND)
target_link_libraries(kritaui Qt5::X11Extras ${X11_LIBRARIES})
endif()
target_include_directories(kritaui
PUBLIC
$ "), html.indexOf(QLatin1String(" "))+1);
- uint firstParaEndBr = (uint) html.indexOf(QLatin1String(" "), html.indexOf(QLatin1String(" "))+1);
+ uint firstParaEndBr = (uint) html.indexOf(QLatin1String(" And to celebrate the release, we have a new video by Ramon Miranda which comes with a very nice present: a free new bundle of six sketching brush presets! (If, for some reason, Firefox thinks it needs to load this as text: to download, right-click on the link.) Note: the gmic-qt is not available on OSX. Note: Linux distributions building Krita against Qt 5.13 have to be aware that a regression in Qt crashes Krita on exit. There’s a workaround for that, but that was not ready for this release. For all downloads: Krita is a free and open source project. Please consider supporting the project with donations or by buying training videos or the artbook! With your support, we can keep the core team working on Krita full-time. We also managed make 538 changes to the code in September with 23 developers — and that excludes translations, since those aren’t in our code repository. We also went back to the Coverity Static Code analyzer and started analyzing Krita again. That was good for at least a hundred potential bug fixes, and it’s something that’s ongoing. We hadn’t done that for quite some time! There is still plenty to do, but the average defect density for projects the size of Krita is 0.7, so we’re not that bad. Of course, focus on fixing bugs means that there’s less time for cool new features, or extending existing features. We did merge Sharaf Zaman’s Android port, though, which means that pretty soon we should have signed nightly Android APK’s! Today during our weekly contributors meeting (notes are here), we decided we wanted to continue and do another couple of montly bug fix releases in the 4.2 series. In what’s currently our master branch, there are quite a few nice new features we’d like to share, though, and we’ll start making alpha builds of master in October, and invite everyone to help test what will become Krita 4.3.0. We had originally wanted to release 4.3.0 in October, and have a fundraiser to celebrate the release. Part of the reason we’re postponing 4.3.0 is that we’d like to continue for a while with the stable 4.2 releases. Another reason is that we want 4.3.0 to have a completely reworked system for loading, handling and saving things like brush presets. We’ve been working on that for a long time now, and things are coming together, but there’s still a lot that needs to be done. Oh I’m terrible at talking about myself. I guess the easiest thing would be that I’m 26 years old and a mother. I identify as genderfluid and pansexual, I freaking love Dungeons and Dragons, and I also am a super avid knitter/fiber artist. I mainly just love doing things with my hands and gravitate to any hobby or craft that lets me do that. A complete hobbyist. I actually only started drawing maybe a year ago, so I’m still learning a lot and growing. I’d love to do this professionally some day, but right now I just really enjoy drawing for my own self. I’m so new to this I don’t even know if I know how to answer this. I mean I guess I mostly work in portraits? I’m trying to get better at drawing buildings and scenes. I’d love to get into comics at some point but my skill level just isn’t quite there yet. I love seeing all sorts of art on twitter, I follow a lot of digital and traditional artists and a lot of them draw Dungeons and Dragons characters and I just love seeing people’s imaginations come to life in that way. I also love Jen Bartel and This Is Angle (This Is Angle writes a comic that I absolutely love the art style of, The Devil Is A Handsome Man) But both of them are just amazing artists and if I could draw half as well as them I would feel accomplished. About a year ago I decided I really wanted to get into drawing. It was always something I wanted to do but just never took that leap. But the time I got there, I realized doing traditional art would be hard simply because we don’t have a lot of space in our home. The house is filled with yarn, fabric, leather, pets, and kid toys. There just wasn’t space for another hobby so I realized digital art would be the only way for me to do this thing. So my partner found me a refurbished Wacom pen tablet and I just fell in love with it. The biggest thing for me is the space it saves. But also, boy, do I absolutely love the undo function. I make a LOT of mistakes and so having the ability to just ctrl+z a bad stroke is phenomenal. I also love the freedom it gives, you can do so much with it that I feel like you just can’t accomplish with traditional. I guess another thing too would be how easy it is to share, I can just upload the finished work to wherever and don’t have to worry about trying to scan traditional art into the computer in order to show people. So when I first got my pen tablet, I was looking at a few programs. I knew I wasn’t going to mess with anything expensive like PS, but I still wanted a good program. Krita was actually the first thing that I found and it just worked perfectly for everything I needed and it was super user friendly. I had people recommend other programs but honestly I just fell in love with Krita and didn’t even bother looking at anything else. Sheer joy. It was the first thing I found and it was just perfect, everything I wanted in a drawing program. I love the quality of it, It’s just as good as the pricier programs and it’s free. It’s also got an amazing community of people around it. I think the biggest issue I run into is just wanting to undo more than the allotted undo’s. Sometimes I just zone out and do a bunch of strokes and then realize I’m on the wrong layer and I can’t undo all of my mistakes. But I suppose that’s more of a user error. It’s layout is very user friendly and intuitive. I never have to look long for something, it’s always right where I expected it would be. So I didn’t have to waste a bunch of time learning some complicated program, it’s just so well designed and supported that even if I couldn’t figure something out, there’s a great community that is prepared to help. Oh that’s a hard one. I don’t know that I have a favorite one, per say, but I do love all of the demons I draw. I think I just like drawing horns on people and blacking out their eyes. My body of work though is small so it’s hard to pick a favorite when my style keeps changing and evolving. I like using the sketch tools and then going over the sketch with the basic paint brush. I also have some of David Revoy’s brushes and I love using them for fun backgrounds and effects. But honestly I mainly use the basic brushes, they can accomplish so much. I’m on twitter: @moderbjorn_ I think I’d like to just say that it’s never too late for you to do the art thing. You don’t have to be one of those people that drew constantly in high school to be someone who’s good at art later in life. Even if it isn’t drawing, maybe it’s writing or wood carving, maybe you really want to try sewing. I’m telling you to do it, it’s so rewarding and you get to watch yourself get better with everything that you do. Don’t let anyone stop you from doing the thing that you want to do, especially yourself. I’m a stay at home mom with no time and sometimes no energy to do it. But just take a breath and understand that it’s okay to go at your own pace, you don’t owe anyone anything and you’re doing this for you. Yeah, I think that’s it. Just do the thing and you’ll be so proud of yourself, I believe in you.
request().url();
- requestUrl = source.toString();
- streamReader.setDevice(reply);
- RssItemList list;
- while (!streamReader.atEnd()) {
- switch (streamReader.readNext()) {
- case QXmlStreamReader::StartElement:
- if (streamReader.name() == QLatin1String("item"))
- list.append(parseItem());
- else if (streamReader.name() == QLatin1String("title"))
- blogName = streamReader.readElementText();
- else if (streamReader.name() == QLatin1String("link")) {
- if (!streamReader.namespaceUri().isEmpty())
- break;
- QString favIconString(streamReader.readElementText());
- QUrl favIconUrl(favIconString);
- favIconUrl.setPath(QLatin1String("favicon.ico"));
- blogIcon = favIconUrl.toString();
- blogIcon = QString(); // XXX: fix the favicon on krita.org!
- }
- break;
- default:
- break;
- }
- }
- return list;
- }
-
-private:
- QXmlStreamReader streamReader;
- QString requestUrl;
- QString blogIcon;
- QString blogName;
-};
+#include
(" + item.pubDate.toLocalTime().toString(Qt::DefaultLocaleShortDate) + ") "
+ item.description.left(90).append("...") + "
");
}
- case TitleRole:
+ case KisRssReader::RssRoles::TitleRole:
return item.title;
- case DescriptionRole:
+ case KisRssReader::RssRoles::DescriptionRole:
return item.description;
- case PubDateRole:
+ case KisRssReader::RssRoles::PubDateRole:
return item.pubDate.toString("dd-MM-yyyy hh:mm");
- case LinkRole:
+ case KisRssReader::RssRoles::LinkRole:
return item.link;
- case CategoryRole:
+ case KisRssReader::RssRoles::CategoryRole:
return item.category;
- case BlogNameRole:
+ case KisRssReader::RssRoles::BlogNameRole:
return item.blogName;
- case BlogIconRole:
+ case KisRssReader::RssRoles::BlogIconRole:
return item.blogIcon;
}
return QVariant();
}
diff --git a/libs/ui/KisMultiFeedRSSModel.h b/libs/ui/KisMultiFeedRSSModel.h
index 7575013244..ff0ca9c18e 100644
--- a/libs/ui/KisMultiFeedRSSModel.h
+++ b/libs/ui/KisMultiFeedRSSModel.h
@@ -1,108 +1,98 @@
/**************************************************************************
**
** This file is part of Qt Creator
**
** Copyright (c) 2011 Nokia Corporation and/or its subsidiary(-ies).
**
** Contact: Nokia Corporation (qt-info@nokia.com)
**
**
** GNU Lesser General Public License Usage
**
** This file may be used under the terms of the GNU Lesser General Public
** License version 2.1 as published by the Free Software Foundation and
** appearing in the file LICENSE.LGPL included in the packaging of this file.
** Please review the following information to ensure the GNU Lesser General
** Public License version 2.1 requirements will be met:
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
** In addition, as a special exception, Nokia gives you certain additional
** rights. These rights are described in the Nokia Qt LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** Other Usage
**
** Alternatively, this file may be used in accordance with the terms and
** conditions contained in a signed written agreement between you and Nokia.
**
** If you have questions regarding the use of this file, please contact
** Nokia at qt-info@nokia.com.
**
**************************************************************************/
#ifndef MULTIFEEDRSSMODEL_H
#define MULTIFEEDRSSMODEL_H
#include
request().url();
+ requestUrl = source.toString();
+ m_streamReader.setDevice(reply);
+
+ return parseStream(m_streamReader);
+}
+
+RssItemList KisRssReader::parse(QFile &file) {
+ requestUrl = file.fileName();
+ file.open(QIODevice::ReadOnly);
+ m_streamReader.setDevice(&file);
+
+ RssItemList itemList(parseStream(m_streamReader));
+
+ file.close();
+ return itemList;
+}
diff --git a/libs/ui/KisRssReader.h b/libs/ui/KisRssReader.h
new file mode 100644
index 0000000000..ed2db537b5
--- /dev/null
+++ b/libs/ui/KisRssReader.h
@@ -0,0 +1,55 @@
+#ifndef KISRSSREADER_H
+#define KISRSSREADER_H
+
+#include Bugs Fixed in 4.2.7
+
+
+Download
+Windows
+
+
+
+
+Linux
+
+
+OSX
+
+
+Source code
+md5sum
+
+
+Support Krita
+Could you tell us something about yourself?
+Do you paint professionally, as a hobby artist, or both?
+What genre(s) do you work in?
+Whose work inspires you most — who are your role models as an artist?
+How and when did you get to try digital painting for the first time?
+What makes you choose digital over traditional painting?
+How did you find out about Krita?
+What was your first impression?
+What do you love about Krita?
+What do you think needs improvement in Krita? Is there anything that really annoys you?
+What sets Krita apart from the other tools that you use?
+If you had to pick one favourite of all your work done in Krita so far, what would it be, and why?
+
+What techniques and brushes did you use in it?
+Where can people see more of your work?
+
+and I am also on Instagram: @moderbjorn
+I also occasionally draw on Twitch: ModerBjornAnything else you’d like to share?
+
In addition to reported bugs, this release fixes a lot of issues found by the Coverity Static Code checker.
+We also have a bunch of great patches by new Krita hackers: Karl Ove Lufthammer, Rebecca Breu, Matthias Wein, Jasper Hartog, Krysztof Kurek and Guo Yunhe. Yay!
+If all is well, we will release 4.2.7 in a week.
+For the beta, you should only only use the portable zip files. Just open the zip file in Explorer and drag the folder somewhere convenient, then double-click on the krita icon in the folder. This will not impact an installed version of Krita, though it will share your settings and custom resources with your regular installed version of Krita. For reporting crashes, also get the debug symbols folder.
+(If, for some reason, Firefox thinks it needs to load this as text: to download, right-click on the link.)
+Note: the gmic-qt is not available on OSX.
+For all downloads:
+Krita is a free and open source project. Please consider supporting the project with donations or by buying training videos or the artbook! With your support, we can keep the core team working on Krita full-time.
++]]> + +
Sure. I’m Julius Grels, and “I like to call myself an artist whenever I’m wasted enough”. In all seriousness though, I think I’d describe myself more as a self-taught caricaturist or illustrator. I usually like to take some existing premise from real life or history, e.g. painting a picture of a (famous) person, depicting wildlife, et cetera. I’m also very fond of making comics, music and video games whenever I have the time (if only?).
+I’m most definitely a hobbyist, since I haven’t done any professional commissions (apart from some miniscule design work in the past), and what I do for living right now isn’t even remotely connected to art! That said, I’d most certainly would love to work as an illustrator, comic artist, or anything alike! My biggest wish would be to illustrate (and/or write) a children’s book someday.
+ +I’m most comfortable when doing caricatures and comics; in the latter I can also infuse my story-telling abilities, the little there are. I prefer to illustrate living things; people, animals and nature itself. I’m not exactly keen on drawing in-animate objects, though I’m learning to force myself out of this comfort zone. I like to keep things simple and clean, or at least I try my best not to get lost in time-consuming detailing. Guess that’s one argument I can use as to why I prefer using simple black background on most of my works…
+I mostly draw (clever, eh?) influence and inspiration from animation, comics and video game art. I’m hesitant to drop any names because I don’t really have role models per se, and I tend to find pretty much any artist’s work interesting and inspiring. I guess as a Finn I could mention Tove Jansson and Mauri Kunnas. Jansson is of course famous for creating the Moomins, but she was also an accomplished artist and writer in her own right. Kunnas is a well-loved artist best known for his children’s books – pretty much every child in Finland has read at least one of his stories. In my opinion he’s also one of the greatest illustrators this country has to offer.
+In addition to the aforementioned, I basically inhaled Franco-Belgian comics as a child; I loved reading Astérix, Lucky Luke, Iznogoud and the rest, so artists like Uderzo, Tabary and Tardi have also had a huge influence on me. Whenever possible, I browse through concept art of different video games. Video games are an interesting subject anyway because they not only combine art, design and technology but have to make all three work together even-handedly to create an enjoyable interactive experience.
++
If we don’t count MS Paint doodles, I think my first real try at digital painting was at elementary school somewhere around the late 90’s where we were introduced to Paint Shop Pro as a part of some “build your own website” -course. We were only able to use mouse for drawing, which was extremely clunky and made me think the whole idea of drawing and painting with a computer was just insane; I’d rather stick to my pencils and brushes, thank you very much. It wasn’t until later when I realised there are equipment specifically made for digital artwork, and once I got my hands on a Wacom tablet, I was sold.
+Nothing? I mean, they are completely different working methods, and I still paint traditionally. Nevertheless, I’ve started to slowly leer towards digital painting, since it’s much easier to control your work and you can experiment more without the fear of ruining something irreversibly (especially when it comes to inking comics and other drawings). While it’s arguable whether digital painting is more cost-efficient than traditional methods in the long run, I think it’s at least less painful to start working with; you only need to set up your computer and programs ready, while with traditional painting you need to take out easel, canvas, gesso, colours, brushes, pencils? you get the idea. Furthermore, in my case where I don’t have a separate studio I have to find and clear a space in my apartment to set all that stuff up. Hassle, hassle!
+ +At one point I started to search for open source alternatives for the myriad number of programs I was using, and Krita was a recommendation somewhere to replace Photoshop, with high ratings from users.
+I guess I’m still languishing in my first impression, because I haven’t been able to use Krita as much as I have wanted. In any case, my very first impression upon opening the program was a relieved “this looks familiar” sigh, and it was incredibly easy to start using Krita from there on.
+Like I mentioned above, I find the interface very easy to use. I also love the fact the community is so alive, and you can find answers to just about any dilemma. All in all, Krita is a magnificent tool for making 2d artwork.
+ +Majority of my problems with Krita are due to the fact I’ve yet to learn most of its nuances, so I can’t really say about improvements that much. Krita seems to be quite a memory-hog, which can cause lot of lag and freezing especially when working with bigger canvases. That, and I’m not too happy with the text tool/editor either and prefer not to use it at all. It’s the one thing in Krita that’s needlessly complicated in my opinion.
+Krita is the only digital painting software I use. Being open source is probably what makes it stand out the most. I use other open source programs as well, e.g. Blender, OpenToonz and Aseprite, but they obviously aren’t that much similar to Krita?
+Not much to choose from, but nevertheless, I’d say Megantereon, which was my first serious Krita artwork that I actually managed to finish. The main reason why I like it so much is simply because I had no initial planning; I took my Wacom, opened Krita and started doodling “something tiger-like”. After an hour or so, I began to realise there might be more to it, and continued working. The first version had plain fur, simplistic ear and lifeless green eye. I published it on deviantart.com, but wasn’t happy with the result, and later on decided to tweak the cat a bit. The fur got more detailed with stripes and spots, and I completely overhauled both the ear and the eye. The final result is what you see here, and I quickly replaced my previous attempt with this better version. I also like Megantereon as it neatly represents my interests (wildlife, history) and my preferred style (stylized, semi-realistic).
+Every brush I used is a Krita default. I used Basic and Fill Circle for outlining and some detail, Bristle Texture and Square for texturing and Inkpens for smaller detailing. There might be some Smudge tool I used too, but I honestly can’t remember.
+I made a rough outlining on one layer against a black background and constructed the beast from bones to muscles to fur et cetera from there on. In the end I had laid out 23 layers with such genius descriptions as “skull”, “Layer 17”, “BLOOD SALIVA”, “hideTheBeard” and “washing”. In retrospect, I highly recommend people to use layers more scarcely if possible – they slow down the program, and the whole working process ends up confusing. At least name your layers better than I did!
+I have two versions of the final work; with and without Noise Effect, which I used to achieve a more horror-esque vibe. I send the noiseless version here so the details aren’t obstructed too much.
At the moment, my most recent work will be published at https://www.deviantart.com/jgrels . Don’t hold your breath, though; I publish work at a snail’s pace. You can also follow me on Twitter @JuliusGrels if you so desire, where I’m giving more information about my possible future projects, like a couple of webcomics I’ve planned to do.
+Maybe just some general advice to any aspiring artist: never stop honing your skills, get out of your comfort zone, don’t fear experimenting, and most importantly; have confidence. Believe in yourself. Even if you don’t think you’re that great of an artist but love doing art, just keep working and publishing your work for everyone to see. You can doubt your talent, but never doubt your passion.
+Finally, I want to send my thanks to the Krita Foundation and give my highest appreciation for the great work you’ve done. Thank you!
+]]>This release also contains an important workaround for users with an AMD Ryzen 5 3500 CPU. This CPU has a bug in its hardware random generator that caused crashes.
+We want to especially thank Karl Ove Hufthammer for his extensive work on polishing the translatable string.
+Note for Windows users: if you encounter crashes, please follow these instructions to use the debug symbols so we can figure out where Krita crashes.
+(If, for some reason, Firefox thinks it needs to load this as text: to download, right-click on the link.)
+Note: the gmic-qt is not available on OSX.
+For all downloads:
+The Linux appimage and the source .tar.gz and .tar.xz tarballs are signed. You can retrieve the public key over https here: 0x58b9596c722ea3bd.asc. The signatures are here (filenames ending in .sig).
+Krita is a free and open source project. Please consider supporting the project with donations or by buying training videos or the artbook! With your support, we can keep the core team working on Krita full-time.
+]]>My name is Wojtek Trybus and I publish artworks as wojtryb. I’m in the last year of Computer Science studies in Poland. I’m also a pianist since 6, and happen to be a hobbyist and self-taught illustrator for something like 8 years now.
+Drawing was always something that, despite being quite hard to learn, was making me happy and fulfilled. I guess this counts as a hobby then. I don’t make any money from it right now and I still haven’t decided if I will be more of a programmer or a graphic designer in the nearest future.
+ +My artistic journey started with some simple and minimalistic illustrations – by keeping them so simple, I never got discouraged, as most beginners do, jumping straight into complex artworks. As my knowledge and experience grew, it all became more and more complicated, though the need to keep this feeling of simplicity in my artworks still remains.
+Vlad Gerasimov, founder of Vladstudio, was my first great inspiration – my minimalistic illustrations originated from his way of seeing the world. I think it is still a bit visible in my artworks, even though our ways parted long time ago, as I switched to a much different approach. Currently, I guess I’m more into David Revoy – his open source ideology – and Nathan Fowkes http://www.nathanfowkesart.com/, whose work, especially for the “How to train your dragon” movie, is for me the absolute level cap that an artist can achieve. Julia Blattman is also worth mentioning, as her artworks full of imagination remind me of what I felt looking at those Vladstudio illustrations long time ago.
+As a kid, as many other kids, I used to love computer games – when I grew up a bit, I noticed that it was not the games I liked that much, but the worlds they took me to. When in 2011 I found out how you can use GIMP and a digital tablet to create something similar, it all began.
+ +Making a lot of mess was always something that bothered me. I still remember how I hated art classes in primary school with kids covering every single thing in the room with paint. In digital painting you can always elegantly save and quit with your hands clean. While I still really enjoy sketching with pencil and pen, I’m afraid I will have a tough job to convince myself to use real paint again (as I know traditional media can give you a lot).
+It was 2015, I guess, when I read about it on David Revoy’s blog for the first time – I suppose many artists switched from GIMP to Krita somewhere in that time because of his support to the program.
+Insanely laggy It took me one year to accidentally switch something in settings, that suddenly made it work normally. Luckily, with each update, it’s less likely for someone to have such a problem again. After I made my first artwork in 2016, Krita happened to exceed GIMP in any way possible. I fell in love instantly.
+ +I love how Krita makes it possible for everyone to learn how to draw, while not wanting anything in exchange. It kind of restores my faith in humanity every time I think about it. It’s even harder to believe that developers manage to constantly update and improve it, while their budget and human resources are hard to compare with those that other art programs have.
+I don’t think there are too many flaws right now in the program itself. All the bugs I noticed in 2016 have been fixed by now. It also seems really stable on Kubuntu – the crashes are happening less often than in the past. Developers did a gorgeous job again and I guess, and with this whole “squash the bugs” campaign they really meant it.
+The thing that bothers me though, is how Krita is sometimes perceived across the internet – some people think it is still laggy or full of bugs – maybe it used to be that way, but in my opinion changed a lot in recent years. Some others may underappreciate it, as Photoshop is still the standard required in the industry.
+I’m really grateful for each and every artist who already helps to promote the program on social media and art-related websites, but I believe it still deserves more – more recognition, professional users, more mind-blowing, “Made in Krita” artworks that would inspire beginners, finally maybe even more donations for further development.
+I try to promote it the best I can and it even encourages me to practice and improve as an artist, but I still think we lack some PR – come on guys. Let’s show what we can do with Krita
+Actually I don’t use any other drawing application as I simply don’t need one. I think that says a lot about it. Krita still allows me to constantly develop, and I’m sure that the only thing now that limits me is my current lack of skills. But I’m constantly working on that.
+One of my most recent illustrations is “festival preparation” – it indicates the direction I want to go with my art – to improve in art foundations, while keeping it fun and full of imagination. A lot of things I studied recently were used here, and it seems it all went particularly well.
+By coincidence, this artwork was actually a final test of brushes I use, that recently had some serious modifications to them. As I like things simple, they don’t mess that much with brush tips and textures as most of presets available on the internet do, but are quite tricky in terms of dynamics – they can randomize rotation and colors to differentiate the strokes. You can actually check them out, as I made them available to use freely some time ago: [Link to brushes]
+I use artstation as my more refined portfolio and facebook for loose updates. Some of my older artworks can still be found on deviantArt.
+https://www.facebook.com/trybus.wojciech
+https://www.artstation.com/wojtryb
+https://www.deviantart.com/wojtryb
Soon I’ll be graduating from college and there are lots of changes and decisions ahead of me for sure – keep your fingers crossed in case I need them to still make progress at the current pace and create the art I love
+]]>The survey idea is new — we want to get your impressions of what we’re about to release. If it works, we’ll be refining the surveys.
+What’s new in 4.2.6?
+We want to especially thank Karl Ove Hufthammer for his extensive work on polishing the translatable string.
+For the beta, only portable zip files are available. Just open the zip file in Explorer and drag the folder somewhere convenient, then double-click on the krita icon in the folder. This will not impact an installed version of Krita, though it will share your settings and custom resources with your regular installed version of Krita. For reporting crashes, also get the debug symbols folder.
+(If, for some reason, Firefox thinks it needs to load this as text: to download, right-click on the link.)
+Note: the gmic-qt is not available on OSX.
+For all downloads:
+Krita is a free and open source project. Please consider supporting the project with donations or by buying training videos or the artbook! With your support, we can keep the core team working on Krita full-time.
++]]>
We’re a Moroccan animation studio, created 6 months ago and based in Rabat, Morocco. Before that we worked in animation studios in France during 10 years. Our goal now is to develop animation industry in Morocco and Africa. It’s a long way to go, and for the moment, we’re just beginning with 2d animation. Krita is a great tool for that, and we’re very happy to use it, and to share the knowledge we have about it.
+So, this summer, we wanted children to learn about 2D animation, so we created an one-week animation course for children from 8 to 14 years old. It was 2 hours per day during 5 days, for a group of 8 to 12 children. The goal was to create an one-minute animated shortfilm in 2D, from the writing of the story, storyboard, background, animation, colorisation and compositing.
+For that we chose to use Krita (and Shotcut for the final compositing and sound). It’s great software, very complete and fun to work with. And as it’s free, we’re sure that the children could use it at home if they like, to make their own projects.
+Finally, four groups of children have worked on Krita this summer, and the result is on Youtube for anyone to watch on our youtube channel. Here are the first three films; the fourth film is not yet on youtube. Should be shortly, when it’s finalized.
+We hope you’ll all like it !
+ + + +Now we hope that we’ll have others projects with Krita, and we’ll be happy
+to share them with you.
Hi, my name is Chayse Goodall. I am 14 years old. I just draw for fun!
+I do animate and draw for a hobby. My artwork improves little by little, but I don’t think it’ll be good enough for a profession!
+I don’t know what my style is, but people tell me that I have an anime style.
+I have many inspirers, two of which was my art teachers, and one of which was my math tutor. They both motivate me to keep going with my progress.
+I tried digital art in 2015. I only had a phone at the time, so it was hard at first. It’s a million times better now, and I have a touch screen computer, so I’ve been trying different art programs!
+There are more tools, and there is an undo button!
+I was looking up free art programs, and stumbled across this program.
+My experience was great! It was easy to follow once you get the hang of it!
+All the brushes and how easy it is to save.
+It is a bit confusing and it looks complex to newcomers.
+It has amazing features and it doesn’t require me to “sign up” or pay for anything!
+I only made one picture. She doesn’t have a name, she was just a test character to see how good the program was. (It came out great!)
+I normally draw the sketch first in a dark red color. Then I draw the plain body in a light green. I sketch the clothes, hair, and accessories on in a neon color.
+I just use the pen for coloring and shading.
+My instagram- panstables
+My youtube- Nubbins