/*! \internal Create's a mutable shape, it's the caller's responsibility to release. WARNING: this function clamps the coordinates to SHRT_MIN/MAX on 10.4 and below. */ HIMutableShapeRef QRegion::toHIMutableShape() const { HIMutableShapeRef shape = HIShapeCreateMutable(); #if (MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5) if (QSysInfo::MacintoshVersion >= QSysInfo::MV_10_5) { if (d->qt_rgn && d->qt_rgn->numRects) { int n = d->qt_rgn->numRects; const QRect *qt_r = (n == 1) ? &d->qt_rgn->extents : d->qt_rgn->rects.constData(); while (n--) { CGRect cgRect = CGRectMake(qt_r->x(), qt_r->y(), qt_r->width(), qt_r->height()); HIShapeUnionWithRect(shape, &cgRect); ++qt_r; } } } else #endif { #ifndef QT_MAC_USE_COCOA QCFType<HIShapeRef> qdShape = HIShapeCreateWithQDRgn(QMacSmartQuickDrawRegion(toQDRgn())); HIShapeUnion(qdShape, shape, shape); #endif } return shape; }
wxRegionRefData() { m_macRgn.reset( HIShapeCreateMutable() ); }
TkRegion TkCreateRegion(void) { return (TkRegion) HIShapeCreateMutable(); }