Krita Source Code Documentation
Loading...
Searching...
No Matches
kis_image.cc File Reference
#include "kis_image.h"
#include <KoConfig.h>
#include <stdlib.h>
#include <math.h>
#include <QImage>
#include <QPainter>
#include <QSize>
#include <QDateTime>
#include <QRect>
#include <klocalizedstring.h>
#include "KoColorSpaceRegistry.h"
#include "KoColor.h"
#include "KoColorProfile.h"
#include <KoCompositeOpRegistry.h>
#include "KisProofingConfiguration.h"
#include "kis_adjustment_layer.h"
#include "kis_annotation.h"
#include "kis_count_visitor.h"
#include "kis_filter_strategy.h"
#include "kis_group_layer.h"
#include "commands/kis_image_commands.h"
#include "kis_layer.h"
#include "kis_meta_data_merge_strategy_registry.h"
#include "kis_paint_layer.h"
#include "kis_projection_leaf.h"
#include "kis_painter.h"
#include "kis_selection.h"
#include "kis_transaction.h"
#include "kis_meta_data_merge_strategy.h"
#include "kis_memory_statistics_server.h"
#include "kis_node.h"
#include "kis_types.h"
#include "kis_image_config.h"
#include "kis_update_scheduler.h"
#include "kis_image_signal_router.h"
#include "kis_image_animation_interface.h"
#include "kis_keyframe_channel.h"
#include "kis_stroke_strategy.h"
#include "kis_simple_stroke_strategy.h"
#include "kis_undo_stores.h"
#include "kis_legacy_undo_adapter.h"
#include "kis_post_execution_undo_adapter.h"
#include "kis_transform_worker.h"
#include "kis_processing_applicator.h"
#include "processing/kis_crop_processing_visitor.h"
#include "processing/kis_crop_selections_processing_visitor.h"
#include "processing/kis_transform_processing_visitor.h"
#include "processing/kis_convert_color_space_processing_visitor.h"
#include "processing/kis_assign_profile_processing_visitor.h"
#include "commands_new/kis_image_resize_command.h"
#include "commands_new/kis_image_set_resolution_command.h"
#include "commands_new/kis_activate_selection_mask_command.h"
#include "kis_composite_progress_proxy.h"
#include "kis_layer_composition.h"
#include "kis_wrapped_rect.h"
#include "kis_crop_saved_extra_data.h"
#include "kis_layer_utils.h"
#include "kis_lod_transform.h"
#include "kis_suspend_projection_updates_stroke_strategy.h"
#include "kis_sync_lod_cache_stroke_strategy.h"
#include "kis_projection_updates_filter.h"
#include "kis_layer_projection_plane.h"
#include "kis_update_time_monitor.h"
#include "kis_lockless_stack.h"
#include <QtCore>
#include <functional>
#include "kis_time_span.h"
#include "KisRunnableBasedStrokeStrategy.h"
#include "KisRunnableStrokeJobData.h"
#include "KisRunnableStrokeJobUtils.h"
#include "KisRunnableStrokeJobsInterface.h"
#include "KisBusyWaitBroker.h"
#include <KisStaticInitializer.h>
#include "KisImageGlobalSelectionManagementInterface.h"

Go to the source code of this file.

Classes

class  KisImage::KisImagePrivate
 
struct  KisImage::KisImagePrivate::SetImageProjectionColorSpace
 

Macros

#define EMIT_IF_NEEDED   if (!(policy & REPLACE)) {} else emit
 
#define SANITY_CHECK_LOCKED(name)
 

Functions

bool checkMasksNeedConversion (KisNodeSP root, const QRect &bounds)
 

Variables

 KIS_DECLARE_STATIC_INITIALIZER
 

Macro Definition Documentation

◆ EMIT_IF_NEEDED

#define EMIT_IF_NEEDED   if (!(policy & REPLACE)) {} else emit

◆ SANITY_CHECK_LOCKED

#define SANITY_CHECK_LOCKED ( name)

Definition at line 112 of file kis_image.cc.

Function Documentation

◆ checkMasksNeedConversion()

bool checkMasksNeedConversion ( KisNodeSP root,
const QRect & bounds )

Definition at line 2480 of file kis_image.cc.

2481{
2482 KisSelectionMask *mask = dynamic_cast<KisSelectionMask*>(root.data());
2483 if (mask &&
2484 (!bounds.contains(mask->paintDevice()->exactBounds()) ||
2485 mask->selection()->hasShapeSelection())) {
2486
2487 return true;
2488 }
2489
2490 KisNodeSP node = root->firstChild();
2491
2492 while (node) {
2493 if (checkMasksNeedConversion(node, bounds)) {
2494 return true;
2495 }
2496
2497 node = node->nextSibling();
2498 }
2499
2500 return false;
2501}
QRect exactBounds() const
#define bounds(x, a, b)
bool checkMasksNeedConversion(KisNodeSP root, const QRect &bounds)
KisSelectionSP selection
Definition kis_mask.cc:44
KisPaintDeviceSP paintDevice() const override
Definition kis_mask.cc:223
KisNodeSP firstChild() const
Definition kis_node.cpp:361
KisNodeSP nextSibling() const
Definition kis_node.cpp:408
bool hasShapeSelection() const

References KisImage::bounds(), checkMasksNeedConversion(), KisWeakSharedPtr< T >::data(), KisPaintDevice::exactBounds(), KisNode::firstChild(), KisSelection::hasShapeSelection(), KisNode::nextSibling(), KisMask::paintDevice(), KisNodeFacade::root, and KisMask::selection.

Variable Documentation

◆ KIS_DECLARE_STATIC_INITIALIZER

KIS_DECLARE_STATIC_INITIALIZER
Initial value:
{
qRegisterMetaType<KisImageSP>("KisImageSP")

Definition at line 115 of file kis_image.cc.