Beispiel #1
0
    HRGN Path::CreateNativeRegion() const
    {
        int point_count = static_cast<int>(points_.size());
        scoped_array<POINT> windows_points(new POINT[point_count]);
        for(int i=0; i<point_count; ++i)
        {
            windows_points[i].x = points_[i].x();
            windows_points[i].y = points_[i].y();
        }

        return ::CreatePolygonRgn(windows_points.get(), point_count, ALTERNATE);
    }
Beispiel #2
0
    HRGN Path::CreateNativeRegion() const
    {
        int point_count = getPoints(NULL, 0);
        scoped_array<SkPoint> points(new SkPoint[point_count]);
        getPoints(points.get(), point_count);
        scoped_array<POINT> windows_points(new POINT[point_count]);
        for(int i=0; i<point_count; ++i)
        {
            windows_points[i].x = SkScalarRound(points[i].fX);
            windows_points[i].y = SkScalarRound(points[i].fY);
        }

        return ::CreatePolygonRgn(windows_points.get(), point_count, ALTERNATE);
    }