File indexing completed on 2025-01-26 04:11:29

0001 /*
0002  *  SPDX-FileCopyrightText: 2022 Dmitry Kazakov <dimula73@gmail.com>
0003  *
0004  *  SPDX-License-Identifier: GPL-2.0-or-later
0005  */
0006 #include "KisSizeOptionWidget.h"
0007 
0008 #include <KisLager.h>
0009 #include <kis_paintop_lod_limitations.h>
0010 
0011 struct KisSizeOptionWidget::Private
0012 {
0013     Private(lager::cursor<KisSizeOptionData> optionData)
0014         : lodLimitations(optionData.map(std::mem_fn(&KisSizeOptionData::lodLimitations)))
0015     {}
0016 
0017     lager::reader<KisPaintopLodLimitations> lodLimitations;
0018 };
0019 
0020 KisSizeOptionWidget::KisSizeOptionWidget(lager::cursor<KisSizeOptionData> optionData)
0021     : KisSizeOptionWidget(optionData, KisPaintOpOption::GENERAL)
0022 {
0023 }
0024 
0025 KisSizeOptionWidget::KisSizeOptionWidget(lager::cursor<KisSizeOptionData> optionData, PaintopCategory categoryOverride)
0026     : KisCurveOptionWidget(optionData.zoom(kislager::lenses::to_base<KisCurveOptionDataCommon>), categoryOverride)
0027     , m_d(new Private(optionData))
0028 {
0029 }
0030 
0031 KisSizeOptionWidget::~KisSizeOptionWidget()
0032 {
0033 }
0034 
0035 KisPaintOpOption::OptionalLodLimitationsReader KisSizeOptionWidget::lodLimitationsReader() const
0036 {
0037     return m_d->lodLimitations;
0038 }