本文整理汇总了C++中cairo_set_antialias函数的典型用法代码示例。如果您正苦于以下问题:C++ cairo_set_antialias函数的具体用法?C++ cairo_set_antialias怎么用?C++ cairo_set_antialias使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了cairo_set_antialias函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: draw
static cairo_test_status_t
draw (cairo_t *cr, int width, int height)
{
cairo_set_source_rgb (cr, 0, 0, 0);
cairo_paint (cr);
cairo_set_antialias(cr, CAIRO_ANTIALIAS_NONE);
cairo_move_to(cr, 85, -465);
cairo_line_to(cr, 3, 4.1);
cairo_line_to(cr, -145, -25);
cairo_close_path(cr);
cairo_clip(cr);
cairo_set_antialias(cr, CAIRO_ANTIALIAS_DEFAULT);
cairo_move_to(cr, -139, -524);
cairo_line_to(cr, 78, 44);
cairo_line_to(cr, -229, -10);
cairo_close_path(cr);
cairo_clip(cr);
cairo_set_source_rgb (cr, 1, 1, 1);
cairo_paint (cr);
return CAIRO_TEST_SUCCESS;
}
示例2: _draw_round_box
static void _draw_round_box(cairo_t* cr, gint width, gint height, double radius)
{
cairo_set_antialias(cr, CAIRO_ANTIALIAS_BEST);
double xc = radius, yc = radius;
double angle1 = 180.0 * (M_PI/180.0); /* angles are specified */
double angle2 = 270.0 * (M_PI/180.0); /* in radians */
cairo_arc (cr, xc, yc, radius, angle1, angle2);
xc = width - radius;
angle1 = 270.0 * (M_PI/180.0);
angle2 = 360.0 * (M_PI/180.0);
cairo_arc (cr, xc, yc, radius, angle1, angle2);
yc = height - radius;
angle1 = 0.0 * (M_PI/180.0);
angle2 = 90.0 * (M_PI/180.0);
cairo_arc (cr, xc, yc, radius, angle1, angle2);
xc = radius;
angle1 = 90.0 * (M_PI/180.0);
angle2 = 180.0 * (M_PI/180.0);
cairo_arc (cr, xc, yc, radius, angle1, angle2);
cairo_set_antialias(cr, CAIRO_ANTIALIAS_DEFAULT);
cairo_close_path(cr);
}
示例3: expose_event
/**
* Handle GTK expose-events
*/
static void expose_event(GtkWidget* widget, GdkEventExpose* event, Console* console)
{
console->width = widget->allocation.width;
console->height = widget->allocation.height;
cairo_t* context = gdk_cairo_create(widget->window);
/* background */
cairo_set_source_rgba(context, 1, 1, 1, console->transparency);
cairo_paint(context);
/* options */
if (console->transparency < 1.0) {
cairo_set_operator(context, CAIRO_OPERATOR_SOURCE);
}
if (console->antialias_graphics == true) {
cairo_set_antialias(context, CAIRO_ANTIALIAS_DEFAULT);
} else {
cairo_set_antialias(context, CAIRO_ANTIALIAS_NONE);
}
/* draw the console */
cairo_save(context);
Console_expose(console, context);
cairo_restore(context);
cairo_destroy(context);
}
示例4: cairo_set_antialias
void
gfxContext::SetAntialiasMode(AntialiasMode mode)
{
if (mode == MODE_ALIASED) {
cairo_set_antialias(mCairo, CAIRO_ANTIALIAS_NONE);
} else if (mode == MODE_COVERAGE) {
cairo_set_antialias(mCairo, CAIRO_ANTIALIAS_DEFAULT);
}
}
示例5: clip_1
static void clip_1 (cairo_t *cr)
{
cairo_set_antialias (cr, CAIRO_ANTIALIAS_NONE);
cairo_arc (cr, 100, 100, 125, 0, 2*M_PI);
cairo_clip (cr);
cairo_set_antialias (cr, CAIRO_ANTIALIAS_DEFAULT);
}
示例6: clip_3
static void clip_3 (cairo_t *cr)
{
cairo_set_antialias (cr, CAIRO_ANTIALIAS_NONE);
cairo_rectangle (cr, 40.25, 60.25, 120, 80);
cairo_rectangle (cr, 60.25, 40.25, 80, 120);
cairo_clip (cr);
cairo_set_antialias (cr, CAIRO_ANTIALIAS_DEFAULT);
}
示例7: uber_heat_map_render_fast
/**
* uber_heat_map_render_fast:
* @graph: A #UberGraph.
*
* XXX
*
* Returns: None.
* Side effects: None.
*/
static void
uber_heat_map_render_fast (UberGraph *graph, /* IN */
cairo_t *cr, /* IN */
GdkRectangle *area, /* IN */
guint epoch, /* IN */
gfloat each) /* IN */
{
UberGraphPrivate *priv;
gfloat height;
gint i;
g_return_if_fail(UBER_IS_HEAT_MAP(graph));
priv = graph->priv;
/*
* XXX: Temporarily draw nice little squares.
*/
#define COUNT 10
height = area->height / (gfloat)COUNT;
for (i = 0; i < COUNT; i++) {
cairo_rectangle(cr,
area->x + area->width - each,
area->y + (i * height),
each,
height);
cairo_set_source_rgba(cr, .1, .1, .8,
g_random_double_range(0., 1.));
cairo_set_antialias(cr, CAIRO_ANTIALIAS_NONE);
cairo_fill(cr);
}
}
示例8: gra2cairo_set_antialias
void
gra2cairo_set_antialias(struct gra2cairo_local *local, int antialias)
{
if (local->cairo == NULL)
return;
local->antialias = antialias;
switch (antialias) {
case ANTIALIAS_TYPE_NONE:
antialias = CAIRO_ANTIALIAS_NONE;
break;
case ANTIALIAS_TYPE_DEFAULT:
antialias = CAIRO_ANTIALIAS_DEFAULT;
break;
case ANTIALIAS_TYPE_GRAY:
antialias = CAIRO_ANTIALIAS_GRAY;
break;
case ANTIALIAS_TYPE_SUBPIXEL:
antialias = CAIRO_ANTIALIAS_SUBPIXEL;
break;
}
cairo_set_antialias(local->cairo, antialias);
}
示例9: draw
static cairo_test_status_t
draw (cairo_t *cr, int width, int height)
{
static const struct point {
double x;
double y;
} xy[] = {
{ 627.016212, 221.749777 },
{ 756.120787, 221.749777 },
{ 756.120787, 557.602766 },
{ 626.952721, 557.602766 },
{ 626.548456, 493.315729 },
};
unsigned int i;
cairo_set_source_rgb (cr, 0, 0, 0);
cairo_paint (cr);
for (i = 0; i < sizeof (xy) / sizeof (xy[0]); i++)
cairo_line_to (cr, xy[i].x, xy[i].y);
cairo_set_source_rgb (cr, 1, 0, 0);
cairo_fill_preserve (cr);
cairo_set_antialias (cr, CAIRO_ANTIALIAS_NONE);
cairo_set_source_rgb (cr, 0, 1, 0);
cairo_fill (cr);
return CAIRO_TEST_SUCCESS;
}
示例10: on_composited_changed
void on_composited_changed ( GdkScreen *screen,
gpointer user_data)
{
GromitData *data = (GromitData *) user_data;
if(data->debug)
g_printerr("DEBUG: got composited-changed event\n");
data->composited = gdk_screen_is_composited (data->screen);
if(data->composited)
{
// undo shape
gtk_widget_shape_combine_region(data->win, NULL);
// re-apply transparency
gtk_window_set_opacity(GTK_WINDOW(data->win), 0.75);
}
// set anti-aliasing
GHashTableIter it;
gpointer value;
g_hash_table_iter_init (&it, data->tool_config);
while (g_hash_table_iter_next (&it, NULL, &value))
{
GromitPaintContext *context = value;
cairo_set_antialias(context->paint_ctx, data->composited ? CAIRO_ANTIALIAS_DEFAULT : CAIRO_ANTIALIAS_NONE);
}
GdkRectangle rect = {0, 0, data->width, data->height};
gdk_window_invalidate_rect(gtk_widget_get_window(data->win), &rect, 0);
}
示例11: BM_Open
static Rboolean
BM_Open(pDevDesc dd, pX11Desc xd, int width, int height)
{
cairo_status_t res;
if (xd->type == PNG || xd->type == JPEG ||
xd->type == TIFF || xd->type == BMP) {
xd->cs = cairo_image_surface_create(CAIRO_FORMAT_ARGB32,
xd->windowWidth,
xd->windowHeight);
} else if (xd->type == PNGdirect) {
xd->cs = cairo_image_surface_create(CAIRO_FORMAT_ARGB32,
xd->windowWidth,
xd->windowHeight);
} else if(xd->type == SVG || xd->type == PDF || xd->type == PS) {
/* leave creation to BM_Newpage */
return TRUE;
} else
error(_("unimplemented cairo-based device"));
res = cairo_surface_status(xd->cs);
if (res != CAIRO_STATUS_SUCCESS) {
warning("cairo error '%s'", cairo_status_to_string(res));
return FALSE;
}
xd->cc = cairo_create(xd->cs);
res = cairo_status(xd->cc);
if (res != CAIRO_STATUS_SUCCESS) {
warning("cairo error '%s'", cairo_status_to_string(res));
return FALSE;
}
cairo_set_operator(xd->cc, CAIRO_OPERATOR_OVER);
cairo_reset_clip(xd->cc);
cairo_set_antialias(xd->cc, xd->antialias);
return TRUE;
}
示例12: uber_line_graph_stylize_line
/**
* uber_line_graph_stylize_line:
* @graph: A #UberLineGraph.
*
* XXX
*
* Returns: None.
* Side effects: None.
*/
static void
uber_line_graph_stylize_line (UberLineGraph *graph, /* IN */
LineInfo *info, /* IN */
cairo_t *cr) /* IN */
{
UberLineGraphPrivate *priv;
g_return_if_fail(UBER_IS_LINE_GRAPH(graph));
g_return_if_fail(info != NULL);
priv = graph->priv;
if (info->dashes) {
cairo_set_dash(cr, info->dashes, info->num_dashes, info->dash_offset);
} else {
cairo_set_dash(cr, NULL, 0, 0);
}
cairo_set_line_cap(cr, CAIRO_LINE_CAP_ROUND);
cairo_set_line_join(cr, CAIRO_LINE_JOIN_ROUND);
cairo_set_line_width(cr, info->width);
cairo_set_antialias(cr, priv->antialias);
cairo_set_source_rgba(cr,
info->color.red / 65535.,
info->color.green / 65535.,
info->color.blue / 65535.,
info->alpha);
}
示例13: on_badge_draw
static gboolean on_badge_draw(ClutterCanvas* canvas, cairo_t* cr,
gint width, gint height, ClutterActor* badge)
{
g_debug("%s: %d,%d, ", __func__, width, height);
cairo_set_antialias(cr, CAIRO_ANTIALIAS_BEST);
cairo_set_operator(cr, CAIRO_OPERATOR_OVER);
cairo_set_source_rgba(cr, 0.0, 0.0, 0.0, 1.0);
cairo_paint_with_alpha(cr, 0.0);
cairo_arc(cr, width/2, height/2, MIN(width, height)/2.0, 0, 2*M_PI);
cairo_close_path(cr);
cairo_set_operator(cr, CAIRO_OPERATOR_OVER);
cairo_set_source_rgba(cr, 0.6, 0.2, 0.2, 0.8);
cairo_fill(cr);
char title[20];
snprintf(title, 19, "%d", GPOINTER_TO_INT(g_object_get_qdata(G_OBJECT(badge), moses_overview_window_clone_order())));
cairo_set_source_rgba(cr, 1.0, 1.0, 1.0, 1.0);
cairo_select_font_face(cr, "fantasy", CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_BOLD);
cairo_set_font_size(cr, 28.0);
cairo_text_extents_t te;
cairo_text_extents(cr, title, &te);
cairo_move_to(cr, (width - te.width)/2.0 - te.x_bearing, (height - te.height)/2.0 - te.y_bearing);
cairo_show_text(cr, title);
return TRUE;
}
示例14: fill
static cairo_test_status_t
fill (cairo_t *cr, int width, int height)
{
int i, j;
/* Fill background white */
cairo_set_source_rgb (cr, 1, 1, 1);
cairo_paint (cr);
/* Draw in black */
cairo_set_source_rgb (cr, 0, 0, 0);
cairo_translate (cr, PAD, PAD);
cairo_set_antialias (cr, CAIRO_ANTIALIAS_NONE);
for (i = 0; i < POINTS; i++)
for (j = 0; j < POINTS; j++) {
cairo_save (cr);
cairo_rectangle (cr, 2 * i + i * STEP, 2 * j + j * STEP, 1, 1);
cairo_clip (cr);
cairo_rectangle (cr, 2 * i, 2 * j, 2, 2);
cairo_fill (cr);
cairo_restore (cr);
}
return CAIRO_TEST_SUCCESS;
}
示例15: _cairo_create
static PyObject *
_cairo_create(PyObject *self, PyObject *args)
{
xcb_connection_t *connection;
xcb_visualtype_t *visual;
xcb_window_t window;
cairo_surface_t * surface;
cairo_t * cairo;
int width, height;
if (!PyArg_ParseTuple(args, "lIlii", &connection, &window, &visual, &width, &height))
return NULL;
surface = cairo_xcb_surface_create(connection,
window,
visual,
width,
height);
cairo = cairo_create(surface);
cairo_set_antialias(cairo, CAIRO_ANTIALIAS_NONE);
cairo_surface_destroy(surface);
return Py_BuildValue("l", cairo);
}