34#include "vkopainter.h"
38#include "vsmallpreview.h"
42VSmallPreview::VSmallPreview( TQWidget* parent,
const char* name )
43 : TQWidget( parent, name )
46 TQHBoxLayout *layout =
new TQHBoxLayout(
this, 4 );
47 m_strokeLabel =
new TQLabel( i18n(
"Stroke: None" ),
this );
48 layout->addWidget( m_strokeLabel );
49 m_strokeFrame =
new TQFrame(
this );
50 m_strokeFrame->setFixedWidth ( FRAMEWIDTH );
51 m_strokeFrame->setFrameStyle( TQFrame::GroupBoxPanel | TQFrame::Plain );
52 layout->addWidget( m_strokeFrame );
53 m_fillLabel =
new TQLabel( i18n(
"Fill: None" ),
this );
54 layout->addWidget( m_fillLabel );
55 m_fillFrame =
new TQFrame(
this );
56 m_fillFrame->setFixedWidth ( FRAMEWIDTH );
57 m_fillFrame->setFrameStyle( TQFrame::GroupBoxPanel | TQFrame::Plain );
58 layout->addWidget( m_fillFrame );
65VSmallPreview::~VSmallPreview()
81 drawStroke( m_stroke );
86VSmallPreview::paintEvent( TQPaintEvent* )
88 drawStroke( m_stroke );
93VSmallPreview::drawFill(
const VFill &f )
99 m_pixmap.resize( m_fillFrame->width(), m_fillFrame->height() );
100 VKoPainter* m_painter =
new VKoPainter( &m_pixmap, m_fillFrame->width(), m_fillFrame->height() );
103 m_painter->setPen( TQt::NoPen );
104 fill.setColor( TQt::white );
105 m_painter->setBrush( fill );
106 m_painter->drawRect( KoRect( 0, 0, m_fillFrame->width(), m_fillFrame->height() ) );
115 m_fillLabel->setText( i18n(
"Fill: RGB") );
break;
117 m_fillLabel->setText( i18n(
"Fill: CMYK") );
break;
119 m_fillLabel->setText( i18n(
"Fill: HSB") );
break;
121 m_fillLabel->setText( i18n(
"Fill: Grayscale") );
break;
123 m_fillLabel->setText( i18n(
"Fill: Color") );
125 fill.setColor( f.color() );
130 fill.gradient() = f.gradient();
132 m_fillLabel->setText( i18n(
"Fill: Gradient") );
133 if( f.gradient().type() == VGradient::linear )
135 fill.gradient().setOrigin( KoPoint( m_fillFrame->width() * 0.5, 0 ) );
136 fill.gradient().setVector( KoPoint( m_fillFrame->width() * 0.5, m_fillFrame->height() ) );
138 else if( f.gradient().type() == VGradient::radial ||
139 f.gradient().type() == VGradient::conic )
141 fill.gradient().setOrigin( KoPoint( m_fillFrame->width() * 0.5, m_fillFrame->height() * 0.5 ) );
142 fill.gradient().setFocalPoint( KoPoint( m_fillFrame->width() * 0.5, m_fillFrame->height() * 0.5 ) );
143 fill.gradient().setVector( KoPoint( m_fillFrame->width() * 0.5, m_fillFrame->height() ) );
150 fill.pattern() = f.pattern();
151 fill.pattern().setOrigin( KoPoint( 0, 0 ) );
152 fill.pattern().setVector( KoPoint( m_fillFrame->width() * 0.5, 0 ) );
154 m_fillLabel->setText( i18n(
"Fill: Pattern") );
159 m_fillLabel->setText( i18n(
"Fill: None") );
160 fill.setColor( TQt::white );
161 m_painter->setBrush( fill );
162 m_painter->drawRect( KoRect( 0, 0, m_fillFrame->width(), m_fillFrame->height() ) );
163 stroke.setColor( TQt::red );
164 stroke.setLineWidth( 2.0 );
165 m_painter->setPen( stroke );
166 m_painter->newPath();
167 m_painter->moveTo( KoPoint( 4, m_fillFrame->height() - 4 ) );
168 m_painter->lineTo( KoPoint( m_fillFrame->width() - 4, 4 ) );
169 m_painter->strokePath();
173 if( f.type() != VFill::none )
175 m_painter->setPen( stroke );
176 m_painter->setBrush( fill );
177 m_painter->drawRect( KoRect( 0, 0, m_fillFrame->width(), m_fillFrame->height() ) );
182 bitBlt( m_fillFrame, m_fillFrame->frameWidth(), m_fillFrame->frameWidth(), &m_pixmap, m_fillFrame->frameWidth(), m_fillFrame->frameWidth(), m_fillFrame->width() - m_fillFrame->frameWidth(), m_fillFrame->height() - m_fillFrame->frameWidth(), CopyROP );
184 delete ( m_painter );
188VSmallPreview::drawStroke(
const VStroke &s )
194 m_pixmap.resize( m_fillFrame->width(), m_fillFrame->height() );
195 VKoPainter* m_painter =
new VKoPainter( &m_pixmap, m_fillFrame->width(), m_fillFrame->height() );
198 m_painter->setPen( TQt::NoPen );
199 fill.setColor( TQt::white );
200 m_painter->setBrush( fill );
201 m_painter->drawRect( KoRect( 0, 0, m_strokeFrame->width(), m_strokeFrame->height() ) );
210 m_strokeLabel->setText( i18n(
"Stroke: RGB") );
break;
212 m_strokeLabel->setText( i18n(
"Stroke: CMYK") );
break;
214 m_strokeLabel->setText( i18n(
"Stroke: HSB") );
break;
216 m_strokeLabel->setText( i18n(
"Stroke: Grayscale") );
break;
218 m_strokeLabel->setText( i18n(
"Stroke: Color") );
220 fill.setColor( s.color() );
225 fill.gradient() = s.gradient();
227 m_strokeLabel->setText( i18n(
"Stroke: Gradient") );
228 if( s.gradient().type() == VGradient::linear )
230 fill.gradient().setOrigin( KoPoint( m_strokeFrame->width() * 0.5, 0 ) );
231 fill.gradient().setVector( KoPoint( m_strokeFrame->width() * 0.5, m_strokeFrame->height() ) );
233 else if( s.gradient().type() == VGradient::radial ||
234 s.gradient().type() == VGradient::conic )
236 fill.gradient().setOrigin( KoPoint( m_strokeFrame->width() * 0.5, m_strokeFrame->height() * 0.5 ) );
237 fill.gradient().setFocalPoint( KoPoint( m_strokeFrame->width() * 0.5, m_strokeFrame->height() * 0.5 ) );
238 fill.gradient().setVector( KoPoint( m_strokeFrame->width() * 0.5, m_strokeFrame->height() ) );
244 fill.pattern() = s.pattern();
245 fill.pattern().setOrigin( KoPoint( 0, 0 ) );
246 fill.pattern().setVector( KoPoint( m_strokeFrame->width() * 0.5, 0 ) );
248 m_strokeLabel->setText( i18n(
"Stroke: Pattern") );
253 m_strokeLabel->setText( i18n(
"Stroke: None") );
254 fill.setColor( TQt::white );
255 m_painter->setBrush( fill );
256 m_painter->drawRect( KoRect( 0, 0, m_strokeFrame->width(), m_strokeFrame->height() ) );
257 stroke.setColor( TQt::red );
258 stroke.setLineWidth( 2.0 );
259 m_painter->setPen( stroke );
260 m_painter->newPath();
261 m_painter->moveTo( KoPoint( 4, m_strokeFrame->height() - 4 ) );
262 m_painter->lineTo( KoPoint( m_strokeFrame->width() - 4, 4 ) );
263 m_painter->strokePath();
267 if( s.type() != VStroke::none )
269 m_painter->setPen( stroke );
270 m_painter->setBrush( fill );
271 m_painter->drawRect( KoRect( 0, 0, m_strokeFrame->width(), m_strokeFrame->height() ) );
276 bitBlt( m_strokeFrame, m_strokeFrame->frameWidth(), m_strokeFrame->frameWidth(), &m_pixmap, m_strokeFrame->frameWidth(), m_strokeFrame->frameWidth(), m_strokeFrame->width() - m_strokeFrame->frameWidth(), m_strokeFrame->height() - m_strokeFrame->frameWidth(), CopyROP );
278 delete ( m_painter );
281#include "vsmallpreview.moc"
VColorSpace colorSpace() const
Returns the color's colorspace.
@ gray
the Gray colorspace (gray from black to white)
@ cmyk
the CMYK colorspace (cyan, magenta, yellow and black components)
@ rgb
the RGB colorspace (red, green and blue components)
@ hsb
the HSB colorspace (hue, saturation and brightnes components)
Manages the fill of shapes.
Manages stroke properties.