本文整理汇总了C++中GdipDeletePath函数的典型用法代码示例。如果您正苦于以下问题:C++ GdipDeletePath函数的具体用法?C++ GdipDeletePath怎么用?C++ GdipDeletePath使用的例子?那么, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了GdipDeletePath函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: test_rect
static void test_rect(void)
{
GpStatus status;
GpPath *path;
GpRectF rects[2];
GdipCreatePath(FillModeAlternate, &path);
status = GdipAddPathRectangle(path, 5.0, 5.0, 100.0, 50.0);
expect(Ok, status);
status = GdipAddPathRectangle(path, 100.0, 50.0, 120.0, 30.0);
expect(Ok, status);
ok_path(path, rect_path, sizeof(rect_path)/sizeof(path_test_t), FALSE);
GdipDeletePath(path);
GdipCreatePath(FillModeAlternate, &path);
rects[0].X = 5.0;
rects[0].Y = 5.0;
rects[0].Width = 100.0;
rects[0].Height = 50.0;
rects[1].X = 100.0;
rects[1].Y = 50.0;
rects[1].Width = 120.0;
rects[1].Height = 30.0;
status = GdipAddPathRectangles(path, (GDIPCONST GpRectF*)&rects, 2);
expect(Ok, status);
ok_path(path, rect_path, sizeof(rect_path)/sizeof(path_test_t), FALSE);
GdipDeletePath(path);
}
示例2: gdip_detach_surface
static
void gdip_detach_surface(GF_SURFACE _this)
{
GPGRAPH();
if (_graph->graph) GdipDeleteGraphics(_graph->graph);
_graph->graph = NULL;
if (_graph->clip) GdipDeletePath(_graph->clip);
_graph->clip = NULL;
if (_graph->pBitmap) GdipDisposeImage(_graph->pBitmap);
_graph->pBitmap = NULL;
if (_graph->current) GdipDeletePath(_graph->current);
_graph->current = NULL;
}
示例3: test_constructor_destructor
static void test_constructor_destructor(void)
{
GpStatus status;
GpPath* path = NULL;
status = GdipCreatePath(FillModeAlternate, &path);
expect(Ok, status);
ok(path != NULL, "Expected path to be initialized\n");
status = GdipDeletePath(NULL);
expect(InvalidParameter, status);
status = GdipDeletePath(path);
expect(Ok, status);
}
示例4: gdip_get_text_size
static M4Err gdip_get_text_size(FontRaster *dr, const unsigned short *string, Float *width, Float *height)
{
GpPath *path_tmp;
GpStringFormat *fmt;
FontPriv *ctx = (FontPriv *)dr->priv;
*width = *height = 0.0;
if (!ctx->font) return M4BadParam;
GdipCreateStringFormat(StringFormatFlagsNoWrap, LANG_NEUTRAL, &fmt);
GdipCreatePath(FillModeAlternate, &path_tmp);
RectF rc;
rc.X = rc.Y = 0;
rc.Width = rc.Height = 0;
GdipAddPathString(path_tmp, string, -1, ctx->font, ctx->font_style, ctx->font_size, &rc, fmt);
GdipGetPathWorldBounds(path_tmp, &rc, NULL, NULL);
*width = rc.Width;
*height = rc.Height;
adjust_white_space(string, width, ctx->whitespace_width );
GdipDeleteStringFormat(fmt);
GdipDeletePath(path_tmp);
return M4OK;
}
示例5: test_empty_rect
static void test_empty_rect(void)
{
GpPath *path;
GpStatus status;
BOOL result;
status = GdipCreatePath(FillModeAlternate, &path);
expect(Ok, status);
status = GdipAddPathRectangle(path, 0.0, 0.0, -5.0, 5.0);
expect(Ok, status);
status = GdipIsVisiblePathPoint(path, -2.0, 2.0, NULL, &result);
expect(Ok, status);
expect(FALSE, status);
status = GdipAddPathRectangle(path, 0.0, 0.0, 5.0, -5.0);
expect(Ok, status);
status = GdipAddPathRectangle(path, 0.0, 0.0, 0.0, 5.0);
expect(Ok, status);
status = GdipAddPathRectangle(path, 0.0, 0.0, 5.0, 0.0);
expect(Ok, status);
GdipDeletePath(path);
}
示例6: test_pathgradientpath
static void test_pathgradientpath(void)
{
GpStatus status;
GpPath *path=NULL;
GpPathGradient *grad=NULL;
status = GdipCreatePathGradient(blendcount_ptf, 2, WrapModeClamp, &grad);
expect(Ok, status);
status = GdipGetPathGradientPath(grad, NULL);
expect(NotImplemented, status);
status = GdipCreatePath(FillModeWinding, &path);
expect(Ok, status);
status = GdipGetPathGradientPath(NULL, path);
expect(NotImplemented, status);
status = GdipGetPathGradientPath(grad, path);
expect(NotImplemented, status);
status = GdipDeletePath(path);
expect(Ok, status);
status = GdipDeleteBrush((GpBrush*)grad);
expect(Ok, status);
}
示例7: test_addclosedcurve
static void test_addclosedcurve(void)
{
GpStatus status;
GpPath *path;
GpPointF points[4];
points[0].X = 0.0;
points[0].Y = 0.0;
points[1].X = 10.0;
points[1].Y = 10.0;
points[2].X = 10.0;
points[2].Y = 20.0;
points[3].X = 30.0;
points[3].Y = 10.0;
GdipCreatePath(FillModeAlternate, &path);
/* NULL args */
status = GdipAddPathClosedCurve2(NULL, NULL, 0, 0.0);
expect(InvalidParameter, status);
status = GdipAddPathClosedCurve2(path, NULL, 0, 0.0);
expect(InvalidParameter, status);
status = GdipAddPathClosedCurve2(path, points, -1, 0.0);
expect(InvalidParameter, status);
status = GdipAddPathClosedCurve2(path, points, 1, 1.0);
expect(InvalidParameter, status);
/* add to empty path */
status = GdipAddPathClosedCurve2(path, points, 4, 1.0);
expect(Ok, status);
ok_path(path, addclosedcurve_path, sizeof(addclosedcurve_path)/sizeof(path_test_t), FALSE);
GdipDeletePath(path);
}
示例8: test_ellipse
static void test_ellipse(void)
{
GpStatus status;
GpPath *path;
GpPointF points[2];
points[0].X = 7.0;
points[0].Y = 11.0;
points[1].X = 13.0;
points[1].Y = 17.0;
GdipCreatePath(FillModeAlternate, &path);
status = GdipAddPathEllipse(path, 10.0, 100.0, 20.0, 50.5);
expect(Ok, status);
GdipAddPathLine2(path, points, 2);
status = GdipAddPathEllipse(path, 10.0, 200.0, -5.0, -10.0);
expect(Ok, status);
GdipClosePathFigure(path);
status = GdipAddPathEllipse(path, 10.0, 300.0, 0.0, 1.0);
expect(Ok, status);
ok_path(path, ellipse_path, sizeof(ellipse_path)/sizeof(path_test_t), FALSE);
GdipDeletePath(path);
}
示例9: test_line2
static void test_line2(void)
{
GpStatus status;
GpPath* path;
int i;
GpPointF line2_points[9];
for(i = 0; i < 9; i ++){
line2_points[i].X = i * 5.0 * (REAL)(i % 2);
line2_points[i].Y = 50.0 - i * 5.0;
}
GdipCreatePath(FillModeAlternate, &path);
status = GdipAddPathLine2(path, line2_points, 3);
expect(Ok, status);
status = GdipAddPathLine2(path, &(line2_points[3]), 3);
expect(Ok, status);
status = GdipClosePathFigure(path);
expect(Ok, status);
status = GdipAddPathLine2(path, &(line2_points[6]), 3);
expect(Ok, status);
ok_path(path, line2_path, sizeof(line2_path)/sizeof(path_test_t), FALSE);
GdipDeletePath(path);
}
示例10: test_arc
static void test_arc(void)
{
GpStatus status;
GpPath* path;
GdipCreatePath(FillModeAlternate, &path);
/* Exactly 90 degrees */
status = GdipAddPathArc(path, 100.0, 100.0, 500.0, 700.0, 0.0, 90.0);
expect(Ok, status);
/* Over 90 degrees */
status = GdipAddPathArc(path, 100.0, 100.0, 500.0, 700.0, 0.0, 100.0);
expect(Ok, status);
/* Negative start angle */
status = GdipAddPathArc(path, 100.0, 100.0, 500.0, 700.0, -80.0, 100.0);
expect(Ok, status);
/* Negative sweep angle */
status = GdipAddPathArc(path, 100.0, 100.0, 500.0, 700.0, 80.0, -100.0);
expect(Ok, status);
/* More than a full revolution */
status = GdipAddPathArc(path, 100.0, 100.0, 500.0, 700.0, 50.0, -400.0);
expect(Ok, status);
/* 0 sweep angle */
status = GdipAddPathArc(path, 100.0, 100.0, 500.0, 700.0, 50.0, 0.0);
expect(Ok, status);
ok_path(path, arc_path, sizeof(arc_path)/sizeof(path_test_t), FALSE);
GdipDeletePath(path);
}
示例11: test_reverse
static void test_reverse(void)
{
GpStatus status;
GpPath *path;
GpPointF pts[7];
INT i;
for(i = 0; i < 7; i++){
pts[i].X = i * 5.0 * (REAL)(i % 2);
pts[i].Y = 50.0 - i * 5.0;
}
GdipCreatePath(FillModeAlternate, &path);
/* NULL argument */
status = GdipReversePath(NULL);
expect(InvalidParameter, status);
/* empty path */
status = GdipReversePath(path);
expect(Ok, status);
GdipAddPathLine2(path, pts, 4);
GdipClosePathFigure(path);
GdipAddPathLine2(path, &(pts[4]), 3);
status = GdipReversePath(path);
expect(Ok, status);
ok_path(path, reverse_path, sizeof(reverse_path)/sizeof(path_test_t), FALSE);
GdipDeletePath(path);
}
示例12: test_getpathdata
static void test_getpathdata(void)
{
GpPath *path;
GpPathData data;
GpStatus status;
INT count;
status = GdipCreatePath(FillModeAlternate, &path);
expect(Ok, status);
status = GdipAddPathLine(path, 5.0, 5.0, 100.0, 50.0);
expect(Ok, status);
status = GdipGetPointCount(path, &count);
expect(Ok, status);
expect(2, count);
data.Count = count;
data.Types = GdipAlloc(sizeof(BYTE) * count);
data.Points = GdipAlloc(sizeof(PointF) * count);
status = GdipGetPathData(path, &data);
expect(Ok, status);
expect((data.Points[0].X == 5.0) && (data.Points[0].Y == 5.0) &&
(data.Points[1].X == 100.0) && (data.Points[1].Y == 50.0), TRUE);
expect((data.Types[0] == PathPointTypeStart) && (data.Types[1] == PathPointTypeLine), TRUE);
GdipFree(data.Points);
GdipFree(data.Types);
GdipDeletePath(path);
}
示例13: GdipCreatePathIter
// coverity[+alloc : arg-*0]
GpStatus
GdipCreatePathIter (GpPathIterator **iterator, GpPath *path)
{
GpPath *clone = NULL;
GpPathIterator *iter;
GpStatus status;
if (!iterator)
return InvalidParameter;
iter = (GpPathIterator *) GdipAlloc (sizeof (GpPathIterator));
if (iter == NULL)
return OutOfMemory;
/* supplying a path isn't required */
if (path) {
status = GdipClonePath (path, &clone);
if (status != Ok) {
GdipFree (iter);
if (clone)
GdipDeletePath (clone);
return status;
}
}
iter->path = clone;
iter->markerPosition = 0;
iter->subpathPosition = 0;
iter->pathTypePosition = 0;
*iterator = iter;
return Ok;
}
示例14: test_addpie
static void test_addpie(void)
{
GpStatus status;
GpPath *path;
GdipCreatePath(FillModeAlternate, &path);
/* NULL argument */
status = GdipAddPathPie(NULL, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
expect(InvalidParameter, status);
status = GdipAddPathPie(path, 0.0, 0.0, 100.0, 50.0, 10.0, 50.0);
expect(Ok, status);
ok_path(path, addpie_path, sizeof(addpie_path)/sizeof(path_test_t), FALSE);
status = GdipResetPath(path);
expect(Ok, status);
/* zero width base ellipse */
status = GdipAddPathPie(path, 0.0, 0.0, 0.0, 60.0, -90.0, 24.0);
expect(InvalidParameter, status);
ok_path(path, addpie_path2, sizeof(addpie_path2)/sizeof(path_test_t), FALSE);
status = GdipResetPath(path);
expect(Ok, status);
/* zero height base ellipse */
status = GdipAddPathPie(path, 0.0, 0.0, 60.0, 0.0 , -90.0, 24.0);
expect(InvalidParameter, status);
ok_path(path, addpie_path3, sizeof(addpie_path3)/sizeof(path_test_t), FALSE);
GdipDeletePath(path);
}
示例15: gdip_get_text_size
static GF_Err gdip_get_text_size(GF_FontReader *dr, const unsigned short *string, Fixed *width, Fixed *height)
{
GpPath *path_tmp;
GpStringFormat *fmt;
FontPriv *ctx = (FontPriv *)dr->udta;
*width = *height = 0;
if (!ctx->font) return GF_BAD_PARAM;
GdipCreateStringFormat(StringFormatFlagsNoWrap, LANG_NEUTRAL, &fmt);
GdipCreatePath(FillModeAlternate, &path_tmp);
RectF rc;
rc.X = rc.Y = 0;
rc.Width = rc.Height = 0;
GdipAddPathString(path_tmp, (const WCHAR *)string, -1, ctx->font, ctx->font_style, ctx->em_size, &rc, fmt);
GdipGetPathWorldBounds(path_tmp, &rc, NULL, NULL);
adjust_white_space(string, &rc.Width, ctx->whitespace_width);
*width = FLT2FIX(rc.Width);
*height = FLT2FIX(rc.Height);
GdipDeleteStringFormat(fmt);
GdipDeletePath(path_tmp);
return GF_OK;
}