这篇教程C++ vg_set_error函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中vg_set_error函数的典型用法代码示例。如果您正苦于以下问题:C++ vg_set_error函数的具体用法?C++ vg_set_error怎么用?C++ vg_set_error使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了vg_set_error函数的30个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: vegaSetGlyphToPathvoid vegaSetGlyphToPath(VGFont font, VGuint glyphIndex, VGPath path, VGboolean isHinted, const VGfloat glyphOrigin[2], const VGfloat escapement[2]){ struct vg_context *ctx = vg_current_context(); struct path *pathObj; struct vg_font *f; if (font == VG_INVALID_HANDLE || !vg_context_is_object_valid(ctx, VG_OBJECT_FONT, (void *)font)) { vg_set_error(ctx, VG_BAD_HANDLE_ERROR); return; } if (!glyphOrigin || !escapement || !is_aligned(glyphOrigin) || !is_aligned(escapement)) { vg_set_error(ctx, VG_ILLEGAL_ARGUMENT_ERROR); return; } if (path != VG_INVALID_HANDLE && !vg_context_is_object_valid(ctx, VG_OBJECT_PATH, (void *)path)) { vg_set_error(ctx, VG_BAD_HANDLE_ERROR); return; } pathObj = (struct path*) path; f = (struct vg_font*) font; font_set_glyph_to_path(f, glyphIndex, pathObj, isHinted, glyphOrigin, escapement);}
开发者ID:GunioRobot,项目名称:mesa-7.10.2-PS3,代码行数:33,
示例2: vegaSetGlyphToImagevoid vegaSetGlyphToImage(VGFont font, VGuint glyphIndex, VGImage image, const VGfloat glyphOrigin[2], const VGfloat escapement[2]){ struct vg_context *ctx = vg_current_context(); struct vg_image *img_obj; struct vg_font *f; if (font == VG_INVALID_HANDLE || !vg_context_is_object_valid(ctx, VG_OBJECT_FONT, (void *)font)) { vg_set_error(ctx, VG_BAD_HANDLE_ERROR); return; } if (!glyphOrigin || !escapement || !is_aligned(glyphOrigin) || !is_aligned(escapement)) { vg_set_error(ctx, VG_ILLEGAL_ARGUMENT_ERROR); return; } if (image != VG_INVALID_HANDLE && !vg_context_is_object_valid(ctx, VG_OBJECT_IMAGE, (void *)image)) { vg_set_error(ctx, VG_BAD_HANDLE_ERROR); return; } img_obj = (struct vg_image*)image; f = (struct vg_font*)font; font_set_glyph_to_image(f, glyphIndex, img_obj, glyphOrigin, escapement);}
开发者ID:GunioRobot,项目名称:mesa-7.10.2-PS3,代码行数:31,
示例3: vgDrawGlyphvoid vgDrawGlyph(VGFont font, VGuint glyphIndex, VGbitfield paintModes, VGboolean allowAutoHinting){ struct vg_context *ctx = vg_current_context(); struct vg_font *f; if (font == VG_INVALID_HANDLE) { vg_set_error(ctx, VG_BAD_HANDLE_ERROR); return; } if (glyphIndex <= 0) { vg_set_error(ctx, VG_ILLEGAL_ARGUMENT_ERROR); return; } if (paintModes & (~(VG_STROKE_PATH|VG_FILL_PATH))) { vg_set_error(ctx, VG_ILLEGAL_ARGUMENT_ERROR); return; } f = (struct vg_font*)font; if (!font_contains_glyph(f, glyphIndex)) { vg_set_error(ctx, VG_ILLEGAL_ARGUMENT_ERROR); return; }}
开发者ID:CPFDSoftware-Tony,项目名称:gmv,代码行数:26,
示例4: vgPathLengthVGfloat vgPathLength(VGPath path, VGint startSegment, VGint numSegments){ struct vg_context *ctx = vg_current_context(); struct path *p = 0; if (path == VG_INVALID_HANDLE) { vg_set_error(ctx, VG_BAD_HANDLE_ERROR); return -1; } if (startSegment < 0) { vg_set_error(ctx, VG_ILLEGAL_ARGUMENT_ERROR); return -1; } if (numSegments <= 0) { vg_set_error(ctx, VG_ILLEGAL_ARGUMENT_ERROR); return -1; } p = (struct path*)path; if (!(path_capabilities(p) & VG_PATH_CAPABILITY_PATH_LENGTH)) { vg_set_error(ctx, VG_PATH_CAPABILITY_ERROR); return -1; } if (startSegment + numSegments > path_num_segments(p)) { vg_set_error(ctx, VG_ILLEGAL_ARGUMENT_ERROR); return -1; } return path_length(p, startSegment, numSegments);}
开发者ID:emcmanus,项目名称:FlashMesa3D,代码行数:32,
示例5: vgChildImageVGImage vgChildImage(VGImage parent, VGint x, VGint y, VGint width, VGint height){ struct vg_context *ctx = vg_current_context(); struct vg_image *p; if (parent == VG_INVALID_HANDLE || !vg_context_is_object_valid(ctx, VG_OBJECT_IMAGE, (void*)parent) || !vg_object_is_valid((void*)parent, VG_OBJECT_IMAGE)) { vg_set_error(ctx, VG_BAD_HANDLE_ERROR); return VG_INVALID_HANDLE; } if (width <= 0 || height <= 0 || x < 0 || y < 0) { vg_set_error(ctx, VG_ILLEGAL_ARGUMENT_ERROR); return VG_INVALID_HANDLE; } p = (struct vg_image *)parent; if (x > p->width || y > p->height) { vg_set_error(ctx, VG_ILLEGAL_ARGUMENT_ERROR); return VG_INVALID_HANDLE; } if (x + width > p->width || y + height > p->height) { vg_set_error(ctx, VG_ILLEGAL_ARGUMENT_ERROR); return VG_INVALID_HANDLE; } return (VGImage)image_child_image(p, x, y, width, height);}
开发者ID:MttDs,项目名称:new-rexeno-tindpe,代码行数:29,
示例6: vgClearGlyphvoid vgClearGlyph(VGFont font, VGuint glyphIndex){ struct vg_context *ctx = vg_current_context(); struct vg_font *f; VGint i; if (font == VG_INVALID_HANDLE) { vg_set_error(ctx, VG_BAD_HANDLE_ERROR); return; } if (glyphIndex <= 0) { vg_set_error(ctx, VG_ILLEGAL_ARGUMENT_ERROR); return; } f = (struct vg_font*)font; if (!font_contains_glyph(f, glyphIndex)) { vg_set_error(ctx, VG_ILLEGAL_ARGUMENT_ERROR); return; } for (i = 0; i < f->num_glyphs; ++i) { if (f->glyph_indices[i] == glyphIndex) { /*FIXME*/ f->glyph_indices[f->num_glyphs] = 0; --f->num_glyphs; return; } }}
开发者ID:CPFDSoftware-Tony,项目名称:gmv,代码行数:30,
示例7: vegaMaskvoid vegaMask(VGHandle mask, VGMaskOperation operation, VGint x, VGint y, VGint width, VGint height){ struct vg_context *ctx = vg_current_context(); if (width <=0 || height <= 0) { vg_set_error(ctx, VG_ILLEGAL_ARGUMENT_ERROR); return; } if (operation < VG_CLEAR_MASK || operation > VG_SUBTRACT_MASK) { vg_set_error(ctx, VG_ILLEGAL_ARGUMENT_ERROR); return; } vg_validate_state(ctx); if (operation == VG_CLEAR_MASK) { mask_fill(x, y, width, height, 0.f); } else if (operation == VG_FILL_MASK) { mask_fill(x, y, width, height, 1.f); } else if (vg_object_is_valid(mask, VG_OBJECT_IMAGE)) { struct vg_image *image = handle_to_image(mask); mask_using_image(image, operation, x, y, width, height); } else if (vg_object_is_valid(mask, VG_OBJECT_MASK)) { struct vg_mask_layer *layer = handle_to_masklayer(mask); mask_using_layer(layer, operation, x, y, width, height); } else { vg_set_error(ctx, VG_BAD_HANDLE_ERROR); }}
开发者ID:CSRedRat,项目名称:mesa-1,代码行数:33,
示例8: vgCreateImageVGImage vgCreateImage(VGImageFormat format, VGint width, VGint height, VGbitfield allowedQuality){ struct vg_context *ctx = vg_current_context(); if (!supported_image_format(format)) { vg_set_error(ctx, VG_UNSUPPORTED_IMAGE_FORMAT_ERROR); return VG_INVALID_HANDLE; } if (width <= 0 || height <= 0) { vg_set_error(ctx, VG_ILLEGAL_ARGUMENT_ERROR); return VG_INVALID_HANDLE; } if (width > vgGeti(VG_MAX_IMAGE_WIDTH) || height > vgGeti(VG_MAX_IMAGE_HEIGHT)) { vg_set_error(ctx, VG_ILLEGAL_ARGUMENT_ERROR); return VG_INVALID_HANDLE; } if (width * height > vgGeti(VG_MAX_IMAGE_PIXELS)) { vg_set_error(ctx, VG_ILLEGAL_ARGUMENT_ERROR); return VG_INVALID_HANDLE; } if (!(allowedQuality & ((VG_IMAGE_QUALITY_NONANTIALIASED | VG_IMAGE_QUALITY_FASTER | VG_IMAGE_QUALITY_BETTER)))) { vg_set_error(ctx, VG_ILLEGAL_ARGUMENT_ERROR); return VG_INVALID_HANDLE; } return (VGImage)image_create(format, width, height);}
开发者ID:MttDs,项目名称:new-rexeno-tindpe,代码行数:33,
示例9: vgCreatePathVGPath vgCreatePath(VGint pathFormat, VGPathDatatype datatype, VGfloat scale, VGfloat bias, VGint segmentCapacityHint, VGint coordCapacityHint, VGbitfield capabilities){ struct vg_context *ctx = vg_current_context(); if (pathFormat != VG_PATH_FORMAT_STANDARD) { vg_set_error(ctx, VG_UNSUPPORTED_PATH_FORMAT_ERROR); return VG_INVALID_HANDLE; } if (datatype < VG_PATH_DATATYPE_S_8 || datatype > VG_PATH_DATATYPE_F) { vg_set_error(ctx, VG_ILLEGAL_ARGUMENT_ERROR); return VG_INVALID_HANDLE; } if (!scale) { vg_set_error(ctx, VG_ILLEGAL_ARGUMENT_ERROR); return VG_INVALID_HANDLE; } return (VGPath)path_create(datatype, scale, bias, segmentCapacityHint, coordCapacityHint, capabilities);}
开发者ID:emcmanus,项目名称:FlashMesa3D,代码行数:27,
示例10: vegaCopyMaskvoid vegaCopyMask(VGMaskLayer maskLayer, VGint sx, VGint sy, VGint dx, VGint dy, VGint width, VGint height){ struct vg_context *ctx = vg_current_context(); struct vg_mask_layer *mask = 0; if (maskLayer == VG_INVALID_HANDLE) { vg_set_error(ctx, VG_BAD_HANDLE_ERROR); return; } if (width <= 0 || height <= 0) { vg_set_error(ctx, VG_ILLEGAL_ARGUMENT_ERROR); return; } if (!vg_object_is_valid(maskLayer, VG_OBJECT_MASK)) { vg_set_error(ctx, VG_BAD_HANDLE_ERROR); return; } vg_validate_state(ctx); mask = handle_to_masklayer(maskLayer); mask_copy(mask, sx, sy, dx, dy, width, height);}
开发者ID:CSRedRat,项目名称:mesa-1,代码行数:26,
示例11: vegaRenderToMaskvoid vegaRenderToMask(VGPath path, VGbitfield paintModes, VGMaskOperation operation){ struct vg_context *ctx = vg_current_context(); if (path == VG_INVALID_HANDLE) { vg_set_error(ctx, VG_BAD_HANDLE_ERROR); return; } if (!paintModes || (paintModes&(~(VG_STROKE_PATH|VG_FILL_PATH)))) { vg_set_error(ctx, VG_ILLEGAL_ARGUMENT_ERROR); return; } if (operation < VG_CLEAR_MASK || operation > VG_SUBTRACT_MASK) { vg_set_error(ctx, VG_ILLEGAL_ARGUMENT_ERROR); return; } if (!vg_object_is_valid(path, VG_OBJECT_PATH)) { vg_set_error(ctx, VG_BAD_HANDLE_ERROR); return; } vg_validate_state(ctx); mask_render_to(handle_to_path(path), paintModes, operation);}
开发者ID:CSRedRat,项目名称:mesa-1,代码行数:28,
示例12: vegaColorMatrixvoid vegaColorMatrix(VGImage dst, VGImage src, const VGfloat * matrix){ struct vg_context *ctx = vg_current_context(); struct vg_image *d, *s; struct filter_info info; if (dst == VG_INVALID_HANDLE || src == VG_INVALID_HANDLE) { vg_set_error(ctx, VG_BAD_HANDLE_ERROR); return; } if (!matrix || !is_aligned(matrix)) { vg_set_error(ctx, VG_ILLEGAL_ARGUMENT_ERROR); return; } d = handle_to_image(dst); s = handle_to_image(src); if (vg_image_overlaps(d, s)) { vg_set_error(ctx, VG_ILLEGAL_ARGUMENT_ERROR); return; } info.dst = d; info.src = s; info.setup_shader = &setup_color_matrix; info.user_data = NULL; info.const_buffer = matrix; info.const_buffer_len = 20 * sizeof(VGfloat); info.tiling_mode = VG_TILE_PAD; info.extra_texture_view = NULL; execute_filter(ctx, &info);}
开发者ID:Forzaferrarileo,项目名称:mesa,代码行数:34,
示例13: vegaPaintPatternvoid vegaPaintPattern(VGPaint paint, VGImage pattern){ struct vg_context *ctx = vg_current_context(); if (paint == VG_INVALID_HANDLE || !vg_context_is_object_valid(ctx, VG_OBJECT_PAINT, (void *)paint)) { vg_set_error(ctx, VG_BAD_HANDLE_ERROR); return; } if (pattern == VG_INVALID_HANDLE) { paint_set_type((struct vg_paint*)paint, VG_PAINT_TYPE_COLOR); return; } if (!vg_context_is_object_valid(ctx, VG_OBJECT_IMAGE, (void *)pattern)) { vg_set_error(ctx, VG_BAD_HANDLE_ERROR); return; } if (!vg_object_is_valid((void*)paint, VG_OBJECT_PAINT) || !vg_object_is_valid((void*)pattern, VG_OBJECT_IMAGE)) { vg_set_error(ctx, VG_BAD_HANDLE_ERROR); return; } paint_set_pattern((struct vg_paint*)paint, (struct vg_image*)pattern);}
开发者ID:GunioRobot,项目名称:mesa-7.10.2-PS3,代码行数:29,
示例14: vgInterpolatePathVGboolean vgInterpolatePath(VGPath dstPath, VGPath startPath, VGPath endPath, VGfloat amount){ struct vg_context *ctx = vg_current_context(); struct path *start = 0, *dst = 0, *end = 0; if (dstPath == VG_INVALID_HANDLE || startPath == VG_INVALID_HANDLE || endPath == VG_INVALID_HANDLE) { vg_set_error(ctx, VG_BAD_HANDLE_ERROR); return VG_FALSE; } dst = (struct path *)dstPath; start = (struct path *)startPath; end = (struct path *)endPath; if (!(path_capabilities(dst) & VG_PATH_CAPABILITY_INTERPOLATE_TO) || !(path_capabilities(start) & VG_PATH_CAPABILITY_INTERPOLATE_FROM) || !(path_capabilities(end) & VG_PATH_CAPABILITY_INTERPOLATE_FROM)) { vg_set_error(ctx, VG_PATH_CAPABILITY_ERROR); return VG_FALSE; } return path_interpolate(dst, start, end, amount);}
开发者ID:emcmanus,项目名称:FlashMesa3D,代码行数:28,
示例15: image_sub_datavoid image_sub_data(struct vg_image *image, const void * data, VGint dataStride, VGImageFormat dataFormat, VGint x, VGint y, VGint width, VGint height){ const VGint yStep = 1; VGubyte *src = (VGubyte *)data; VGfloat temp[VEGA_MAX_IMAGE_WIDTH][4]; VGfloat *df = (VGfloat*)temp; VGint i; struct vg_context *ctx = vg_current_context(); struct pipe_context *pipe = ctx->pipe; struct pipe_resource *texture = image_texture(image); VGint xoffset = 0, yoffset = 0; if (x < 0) { xoffset -= x; width += x; x = 0; } if (y < 0) { yoffset -= y; height += y; y = 0; } if (width <= 0 || height <= 0) { vg_set_error(ctx, VG_ILLEGAL_ARGUMENT_ERROR); return; } if (x > image->width || y > image->width) { vg_set_error(ctx, VG_ILLEGAL_ARGUMENT_ERROR); return; } if (x + width > image->width) { width = image->width - x; } if (y + height > image->height) { height = image->height - y; } { /* upload color_data */ struct pipe_transfer *transfer = pipe_get_transfer( pipe, texture, 0, 0, PIPE_TRANSFER_WRITE, 0, 0, texture->width0, texture->height0); src += (dataStride * yoffset); for (i = 0; i < height; i++) { _vega_unpack_float_span_rgba(ctx, width, xoffset, src, dataFormat, temp); pipe_put_tile_rgba(pipe, transfer, x+image->x, y+image->y, width, 1, df); y += yStep; src += dataStride; } pipe->transfer_destroy(pipe, transfer); }}
开发者ID:ChillyWillyGuru,项目名称:RSXGL,代码行数:60,
示例16: vgModifyPathCoordsvoid vgModifyPathCoords(VGPath dstPath, VGint startIndex, VGint numSegments, const void * pathData){ struct vg_context *ctx = vg_current_context(); struct path *p = 0; if (dstPath == VG_INVALID_HANDLE) { vg_set_error(ctx, VG_BAD_HANDLE_ERROR); return; } if (startIndex < 0 || numSegments <= 0) { vg_set_error(ctx, VG_ILLEGAL_ARGUMENT_ERROR); return; } p = (struct path *)dstPath; if (!pathData || !is_aligned_to(pathData, path_datatype_size(p))) { vg_set_error(ctx, VG_ILLEGAL_ARGUMENT_ERROR); return; } if (startIndex + numSegments > path_num_segments(p)) { vg_set_error(ctx, VG_ILLEGAL_ARGUMENT_ERROR); return; } if (!(path_capabilities(p)&VG_PATH_CAPABILITY_MODIFY)) { vg_set_error(ctx, VG_PATH_CAPABILITY_ERROR); return; } path_modify_coords(p, startIndex, numSegments, pathData);}
开发者ID:emcmanus,项目名称:FlashMesa3D,代码行数:34,
示例17: vgSetGlyphToImagevoid vgSetGlyphToImage(VGFont font, VGuint glyphIndex, VGImage image, VGfloat glyphOrigin [2], VGfloat escapement[2]){ struct vg_context *ctx = vg_current_context(); struct vg_object *img_obj; struct vg_font *f; if (font == VG_INVALID_HANDLE || !vg_context_is_object_valid(ctx, VG_OBJECT_FONT, (void *)font)) { vg_set_error(ctx, VG_BAD_HANDLE_ERROR); return; } if (!glyphOrigin || !escapement || !is_aligned(glyphOrigin) || !is_aligned(escapement)) { vg_set_error(ctx, VG_ILLEGAL_ARGUMENT_ERROR); return; } if (image != VG_INVALID_HANDLE && !vg_context_is_object_valid(ctx, VG_OBJECT_IMAGE, (void *)image)) { vg_set_error(ctx, VG_BAD_HANDLE_ERROR); return; } img_obj = (struct vg_object*)image; if (img_obj && img_obj->type != VG_OBJECT_IMAGE) { vg_set_error(ctx, VG_BAD_HANDLE_ERROR); return; } f = (struct vg_font*)font; f->glyph_indices[f->num_glyphs] = glyphIndex; ++f->num_glyphs;}
开发者ID:CPFDSoftware-Tony,项目名称:gmv,代码行数:34,
示例18: vgGetImageSubDatavoid vgGetImageSubData(VGImage image, void * data, VGint dataStride, VGImageFormat dataFormat, VGint x, VGint y, VGint width, VGint height){ struct vg_context *ctx = vg_current_context(); struct vg_image *img; if (image == VG_INVALID_HANDLE) { vg_set_error(ctx, VG_BAD_HANDLE_ERROR); return; } if (!supported_image_format(dataFormat)) { vg_set_error(ctx, VG_UNSUPPORTED_IMAGE_FORMAT_ERROR); return; } if (width <= 0 || height <= 0 || !data || !is_aligned(data)) { vg_set_error(ctx, VG_ILLEGAL_ARGUMENT_ERROR); return; } img = (struct vg_image*)image; image_get_sub_data(img, data, dataStride, dataFormat, x, y, width, height);}
开发者ID:MttDs,项目名称:new-rexeno-tindpe,代码行数:26,
示例19: vegaSetPaintvoid vegaSetPaint(VGPaint paint, VGbitfield paintModes){ struct vg_context *ctx = vg_current_context(); if (paint == VG_INVALID_HANDLE) { /* restore the default */ paint = paint_to_handle(ctx->default_paint); } else if (!vg_object_is_valid(paint, VG_OBJECT_PAINT)) { vg_set_error(ctx, VG_BAD_HANDLE_ERROR); return; } if (!(paintModes & ((VG_FILL_PATH|VG_STROKE_PATH)))) { vg_set_error(ctx, VG_ILLEGAL_ARGUMENT_ERROR); return; } if (paintModes & VG_FILL_PATH) { ctx->state.vg.fill_paint = handle_to_paint(paint); } if (paintModes & VG_STROKE_PATH) { ctx->state.vg.stroke_paint = handle_to_paint(paint); } ctx->state.dirty |= PAINT_DIRTY;}
开发者ID:venkatarajasekhar,项目名称:Qt,代码行数:26,
示例20: vegaLookupvoid vegaLookup(VGImage dst, VGImage src, const VGubyte * redLUT, const VGubyte * greenLUT, const VGubyte * blueLUT, const VGubyte * alphaLUT, VGboolean outputLinear, VGboolean outputPremultiplied){ struct vg_context *ctx = vg_current_context(); struct vg_image *d, *s; VGuint color_data[256]; VGint i; struct pipe_sampler_view *lut_texture_view; VGfloat buffer[4]; struct filter_info info; if (dst == VG_INVALID_HANDLE || src == VG_INVALID_HANDLE) { vg_set_error(ctx, VG_BAD_HANDLE_ERROR); return; } if (!redLUT || !greenLUT || !blueLUT || !alphaLUT) { vg_set_error(ctx, VG_ILLEGAL_ARGUMENT_ERROR); return; } d = handle_to_image(dst); s = handle_to_image(src); if (vg_image_overlaps(d, s)) { vg_set_error(ctx, VG_ILLEGAL_ARGUMENT_ERROR); return; } for (i = 0; i < 256; ++i) { color_data[i] = blueLUT[i] << 24 | greenLUT[i] << 16 | redLUT[i] << 8 | alphaLUT[i]; } lut_texture_view = create_texture_1d_view(ctx, color_data, 255); buffer[0] = 0.f; buffer[1] = 0.f; buffer[2] = 1.f; buffer[3] = 1.f; info.dst = d; info.src = s; info.setup_shader = &setup_lookup; info.user_data = NULL; info.const_buffer = buffer; info.const_buffer_len = 4 * sizeof(VGfloat); info.tiling_mode = VG_TILE_PAD; info.extra_texture_view = lut_texture_view; execute_filter(ctx, &info); pipe_sampler_view_reference(&lut_texture_view, NULL);}
开发者ID:Forzaferrarileo,项目名称:mesa,代码行数:58,
示例21: vgDestroyImagevoid vgDestroyImage(VGImage image){ struct vg_context *ctx = vg_current_context(); struct vg_image *img = (struct vg_image *)image; if (image == VG_INVALID_HANDLE) { vg_set_error(ctx, VG_BAD_HANDLE_ERROR); return; } if (!vg_object_is_valid((void*)image, VG_OBJECT_IMAGE)) { vg_set_error(ctx, VG_BAD_HANDLE_ERROR); return; } image_destroy(img);}
开发者ID:MttDs,项目名称:new-rexeno-tindpe,代码行数:15,
示例22: vegaDestroyFontvoid vegaDestroyFont(VGFont f){ struct vg_font *font = (struct vg_font *)f; struct vg_context *ctx = vg_current_context(); if (f == VG_INVALID_HANDLE) { vg_set_error(ctx, VG_BAD_HANDLE_ERROR); return; } if (!vg_object_is_valid((void *) font, VG_OBJECT_FONT)) { vg_set_error(ctx, VG_BAD_HANDLE_ERROR); return; } font_destroy(font);}
开发者ID:GunioRobot,项目名称:mesa-7.10.2-PS3,代码行数:16,
示例23: font_draw_glyphsvoid font_draw_glyphs(struct vg_font *font, VGint glyphCount, const VGuint *glyphIndices, const VGfloat *adjustments_x, const VGfloat *adjustments_y, VGbitfield paintModes, VGboolean allowAutoHinting){ struct vg_context *ctx = vg_current_context(); VGint i; for (i = 0; i < glyphCount; ++i) { if (!get_glyph(font, glyphIndices[i])) { vg_set_error(ctx, VG_ILLEGAL_ARGUMENT_ERROR); return; } } for (i = 0; i < glyphCount; ++i) { struct vg_glyph *glyph; VGfloat adj_x, adj_y; glyph = get_glyph(font, glyphIndices[i]); vg_render_glyph(ctx, glyph, paintModes, allowAutoHinting); adj_x = (adjustments_x) ? adjustments_x[i] : 0.0f; adj_y = (adjustments_y) ? adjustments_y[i] : 0.0f; vg_advance_glyph(ctx, glyph, adj_x, adj_y, (i == glyphCount - 1)); }}
开发者ID:CSRedRat,项目名称:mesa-1,代码行数:31,
示例24: vgCopyPixelsvoid vgCopyPixels(VGint dx, VGint dy, VGint sx, VGint sy, VGint width, VGint height){ struct vg_context *ctx = vg_current_context(); struct pipe_framebuffer_state *fb = &ctx->state.g3d.fb; struct st_renderbuffer *strb = ctx->draw_buffer->strb; if (width <= 0 || height <= 0) { vg_set_error(ctx, VG_ILLEGAL_ARGUMENT_ERROR); return; } /* do nothing if we copy from outside the fb */ if (dx >= (VGint)fb->width || dy >= (VGint)fb->height || sx >= (VGint)fb->width || sy >= (VGint)fb->height) return; vg_validate_state(ctx); /* make sure rendering has completed */ vgFinish(); vg_copy_surface(ctx, strb->surface, dx, dy, strb->surface, sx, sy, width, height);}
开发者ID:MttDs,项目名称:new-rexeno-tindpe,代码行数:25,
示例25: vegaSeparableConvolvevoid vegaSeparableConvolve(VGImage dst, VGImage src, VGint kernelWidth, VGint kernelHeight, VGint shiftX, VGint shiftY, const VGshort * kernelX, const VGshort * kernelY, VGfloat scale, VGfloat bias, VGTilingMode tilingMode){ struct vg_context *ctx = vg_current_context(); VGshort *kernel; VGint i, j, idx = 0; const VGint max_kernel_size = vegaGeti(VG_MAX_SEPARABLE_KERNEL_SIZE); if (dst == VG_INVALID_HANDLE || src == VG_INVALID_HANDLE) { vg_set_error(ctx, VG_BAD_HANDLE_ERROR); return; } if (kernelWidth <= 0 || kernelHeight <= 0 || kernelWidth > max_kernel_size || kernelHeight > max_kernel_size) { vg_set_error(ctx, VG_ILLEGAL_ARGUMENT_ERROR); return; } if (!kernelX || !kernelY || !is_aligned_to(kernelX, 2) || !is_aligned_to(kernelY, 2)) { vg_set_error(ctx, VG_ILLEGAL_ARGUMENT_ERROR); return; } if (tilingMode < VG_TILE_FILL || tilingMode > VG_TILE_REFLECT) { vg_set_error(ctx, VG_ILLEGAL_ARGUMENT_ERROR); return; } kernel = malloc(sizeof(VGshort)*kernelWidth*kernelHeight); for (i = 0; i < kernelWidth; ++i) { for (j = 0; j < kernelHeight; ++j) { kernel[idx] = kernelX[i] * kernelY[j]; ++idx; } } vegaConvolve(dst, src, kernelWidth, kernelHeight, shiftX, shiftY, kernel, scale, bias, tilingMode); free(kernel);}
开发者ID:Forzaferrarileo,项目名称:mesa,代码行数:47,
示例26: font_clear_glyphvoid font_clear_glyph(struct vg_font *font, VGuint glyphIndex){ if (!del_glyph(font, glyphIndex)) { struct vg_context *ctx = vg_current_context(); vg_set_error(ctx, VG_ILLEGAL_ARGUMENT_ERROR); }}
开发者ID:CSRedRat,项目名称:mesa-1,代码行数:8,
示例27: vegaDestroyMaskLayervoid vegaDestroyMaskLayer(VGMaskLayer maskLayer){ struct vg_mask_layer *mask = 0; struct vg_context *ctx = vg_current_context(); if (maskLayer == VG_INVALID_HANDLE) { vg_set_error(ctx, VG_BAD_HANDLE_ERROR); return; } if (!vg_object_is_valid(maskLayer, VG_OBJECT_MASK)) { vg_set_error(ctx, VG_BAD_HANDLE_ERROR); return; } mask = handle_to_masklayer(maskLayer); mask_layer_destroy(mask);}
开发者ID:CSRedRat,项目名称:mesa-1,代码行数:17,
示例28: vg_create_contextstruct vg_context * vg_create_context(struct pipe_context *pipe, const void *visual, struct vg_context *share){ struct vg_context *ctx; ctx = CALLOC_STRUCT(vg_context); ctx->pipe = pipe; if (!choose_depth_stencil_format(ctx)) { FREE(ctx); return NULL; } ctx->dispatch = api_create_dispatch(); vg_init_state(&ctx->state.vg); ctx->state.dirty = ALL_DIRTY; ctx->cso_context = cso_create_context(pipe); ctx->default_paint = paint_create(ctx); ctx->state.vg.stroke_paint = ctx->default_paint; ctx->state.vg.fill_paint = ctx->default_paint; ctx->mask.sampler.wrap_s = PIPE_TEX_WRAP_CLAMP_TO_EDGE; ctx->mask.sampler.wrap_t = PIPE_TEX_WRAP_CLAMP_TO_EDGE; ctx->mask.sampler.wrap_r = PIPE_TEX_WRAP_CLAMP_TO_EDGE; ctx->mask.sampler.min_mip_filter = PIPE_TEX_MIPFILTER_NONE; ctx->mask.sampler.min_img_filter = PIPE_TEX_FILTER_NEAREST; ctx->mask.sampler.mag_img_filter = PIPE_TEX_FILTER_NEAREST; ctx->mask.sampler.normalized_coords = 0; ctx->blend_sampler.wrap_s = PIPE_TEX_WRAP_CLAMP_TO_EDGE; ctx->blend_sampler.wrap_t = PIPE_TEX_WRAP_CLAMP_TO_EDGE; ctx->blend_sampler.wrap_r = PIPE_TEX_WRAP_CLAMP_TO_EDGE; ctx->blend_sampler.min_mip_filter = PIPE_TEX_MIPFILTER_NONE; ctx->blend_sampler.min_img_filter = PIPE_TEX_FILTER_NEAREST; ctx->blend_sampler.mag_img_filter = PIPE_TEX_FILTER_NEAREST; ctx->blend_sampler.normalized_coords = 0; vg_set_error(ctx, VG_NO_ERROR); ctx->owned_objects[VG_OBJECT_PAINT] = cso_hash_create(); ctx->owned_objects[VG_OBJECT_IMAGE] = cso_hash_create(); ctx->owned_objects[VG_OBJECT_MASK] = cso_hash_create(); ctx->owned_objects[VG_OBJECT_FONT] = cso_hash_create(); ctx->owned_objects[VG_OBJECT_PATH] = cso_hash_create(); ctx->renderer = renderer_create(ctx); ctx->sc = shaders_cache_create(ctx); ctx->shader = shader_create(ctx); ctx->blit = util_create_blit(ctx->pipe, ctx->cso_context); return ctx;}
开发者ID:venkatarajasekhar,项目名称:Qt,代码行数:58,
示例29: vegaSetColorvoid vegaSetColor(VGPaint paint, VGuint rgba){ struct vg_context *ctx = vg_current_context(); if (paint == VG_INVALID_HANDLE) { vg_set_error(ctx, VG_BAD_HANDLE_ERROR); return; } if (!vg_object_is_valid((void*)paint, VG_OBJECT_PAINT)) { vg_set_error(ctx, VG_BAD_HANDLE_ERROR); return; } { struct vg_paint *p = (struct vg_paint *)paint; paint_set_colori(p, rgba); }}
开发者ID:GunioRobot,项目名称:mesa-7.10.2-PS3,代码行数:18,
示例30: vgDrawPathvoid vgDrawPath(VGPath path, VGbitfield paintModes){ struct vg_context *ctx = vg_current_context(); if (path == VG_INVALID_HANDLE) { vg_set_error(ctx, VG_BAD_HANDLE_ERROR); return; } if (!(paintModes & (VG_STROKE_PATH | VG_FILL_PATH))) { vg_set_error(ctx, VG_ILLEGAL_ARGUMENT_ERROR); return; } if (path_is_empty((struct path*)path)) return; path_render((struct path*)path, paintModes);}
开发者ID:emcmanus,项目名称:FlashMesa3D,代码行数:18,
注:本文中的vg_set_error函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 C++ vgacon_text_force函数代码示例 C++ vg_current_context函数代码示例 |