<div dir="ltr">Hi list,<div>I found that the [DKImageShape swatchImageWithSize:size] method does not work. it&#39;s due to the missing of hooking drawImage method into drawContent method. Here is my quick and dirty fix:</div>
<div><br></div><div><div>- (NSImage*)swatchImageWithSize:(NSSize)size</div><div>{</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>NSImage* image = [[NSImage alloc] initWithSize:size];</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>[image setFlipped:YES];</div>
<div><br></div><div>&nbsp;&nbsp; &nbsp;NSRect<span class="Apple-tab-span" style="white-space:pre">                                </span>br = [self bounds];</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>float<span class="Apple-tab-span" style="white-space:pre">                                </span>sx, sy;</div>
<div><span class="Apple-tab-span" style="white-space:pre">        </span></div><div><span class="Apple-tab-span" style="white-space:pre">        </span>sx = br.size.width / size.width;</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>sy = br.size.height / size.height;</div>
<div><span class="Apple-tab-span" style="white-space:pre">        </span></div><div><span class="Apple-tab-span" style="white-space:pre">        </span>NSAffineTransform* ot = [NSAffineTransform transform];</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>[ot translateXBy:-br.origin.x yBy:-br.origin.y];</div>
<div><span class="Apple-tab-span" style="white-space:pre">        </span>[ot scaleXBy:sx yBy:sy];</div><div><span class="Apple-tab-span" style="white-space:pre">        </span></div><div>&nbsp;&nbsp; &nbsp;[image lockFocus];</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>[[NSColor clearColor] set];</div>
<div><span class="Apple-tab-span" style="white-space:pre">        </span>NSRectFill( NSMakeRect( 0, 0, size.width, size.height ));</div><div>&nbsp;&nbsp; &nbsp;</div><div>&nbsp;&nbsp; &nbsp;[ot concat];</div><div>&nbsp;&nbsp; &nbsp;</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>NSAffineTransform*<span class="Apple-tab-span" style="white-space:pre">        </span>xt = [self containerTransform];</div>
<div><span class="Apple-tab-span" style="white-space:pre">        </span></div><div><span class="Apple-tab-span" style="white-space:pre">        </span>[[self transformedPath] addClip];</div><div><span class="Apple-tab-span" style="white-space:pre">        </span></div>
<div><span class="Apple-tab-span" style="white-space:pre">        </span>NSAffineTransform* &nbsp;tx = [self imageTransform];</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>[tx appendTransform:xt];</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>[tx concat];</div>
<div><span class="Apple-tab-span" style="white-space:pre">        </span></div><div><span class="Apple-tab-span" style="white-space:pre">        </span>NSRect ir;</div><div><span class="Apple-tab-span" style="white-space:pre">        </span></div>
<div><span class="Apple-tab-span" style="white-space:pre">        </span>ir.size = [[self image] size];</div><div><span class="Apple-tab-span" style="white-space:pre">        </span></div><div><span class="Apple-tab-span" style="white-space:pre">        </span>if([self imageCroppingOptions] == kDKImageScaleToPath)</div>
<div><span class="Apple-tab-span" style="white-space:pre">        </span>{</div><div><span class="Apple-tab-span" style="white-space:pre">                </span>ir.origin.x = m_imageOffset.x - ( ir.size.width / 2.0 );</div><div><span class="Apple-tab-span" style="white-space:pre">                </span>ir.origin.y = m_imageOffset.y - ( ir.size.height / 2.0 );</div>
<div><span class="Apple-tab-span" style="white-space:pre">        </span>}</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>else</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>{</div>
<div><span class="Apple-tab-span" style="white-space:pre">                </span>ir.origin.x = m_imageOffset.x;</div><div><span class="Apple-tab-span" style="white-space:pre">                </span>ir.origin.y = m_imageOffset.y;</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>}</div>
<div><span class="Apple-tab-span" style="white-space:pre">        </span></div><div><span class="Apple-tab-span" style="white-space:pre">        </span>[[self image]<span class="Apple-tab-span" style="white-space:pre">        </span>drawInRect:ir</div>
<div><span class="Apple-tab-span" style="white-space:pre">                                        </span>fromRect:NSZeroRect</div><div><span class="Apple-tab-span" style="white-space:pre">                                        </span>operation:NSCompositeCopy</div><div><span class="Apple-tab-span" style="white-space:pre">                                        </span>fraction:[self imageOpacity]];</div>
<div>&nbsp;&nbsp; &nbsp;</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>[image unlockFocus];</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>return [image autorelease];</div><div>}</div><br>
-- <br>Best regards<br><br>Linan Wang
</div></div>