当前位置: 首页>>代码示例>>C++>>正文


C++ cairo_rel_line_to函数代码示例

本文整理汇总了C++中cairo_rel_line_to函数的典型用法代码示例。如果您正苦于以下问题:C++ cairo_rel_line_to函数的具体用法?C++ cairo_rel_line_to怎么用?C++ cairo_rel_line_to使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了cairo_rel_line_to函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: draw_cross

static void
draw_cross (cairo_t *cr,
            double   cx,
            double   cy,
            double   size)
{
        cairo_move_to (cr, cx, cy - size/2.0);
        cairo_rel_line_to (cr, size, size);

        cairo_move_to (cr, cx, cy + size/2.0);
        cairo_rel_line_to (cr, size, -size);

        cairo_set_source_rgba (cr, 0.6, 0.6, 0.6, GSD_OSD_WINDOW_FG_ALPHA / 2);
        cairo_set_line_width (cr, 14);
        cairo_set_line_cap (cr, CAIRO_LINE_CAP_ROUND);
        cairo_stroke_preserve (cr);

        cairo_set_source_rgba (cr, 1.0, 1.0, 1.0, GSD_OSD_WINDOW_FG_ALPHA);
        cairo_set_line_width (cr, 10);
        cairo_set_line_cap (cr, CAIRO_LINE_CAP_ROUND);
        cairo_stroke (cr);
}
开发者ID:ebroder,项目名称:gnome-settings-daemon,代码行数:22,代码来源:gsd-media-keys-window.c

示例2: pycairo_rel_line_to

static PyObject *
pycairo_rel_line_to (PycairoContext *o, PyObject *args)
{
    double dx, dy;

    if (!PyArg_ParseTuple (args, "dd:Context.rel_line_to", &dx, &dy))
	return NULL;

    cairo_rel_line_to (o->ctx, dx, dy);
    if (Pycairo_Check_Status (cairo_status (o->ctx)))
	return NULL;
    Py_RETURN_NONE;
}
开发者ID:anarcher,项目名称:enso-launcher-continued,代码行数:13,代码来源:pycairo-context.c

示例3: DrawMarker

void DrawMarker(cairo_t *cr, gint x, gint y, gint type, GdkColor *color) 
{
    if (type == 0) {
        gdk_cairo_set_source_color(cr, &color[0]);
        cairo_move_to(cr, x - MARKERLENGTH, y);
        cairo_rel_line_to(cr, 2 * MARKERLENGTH, 0);
        cairo_move_to(cr, x, y);
        cairo_rel_line_to(cr, 0, -MARKERLENGTH);
        cairo_stroke(cr);
    } else if (type == 1) {
        gdk_cairo_set_source_color(cr, &color[1]);
        cairo_move_to(cr, x, y - MARKERLENGTH);
        cairo_rel_line_to(cr, 0, 2 * MARKERLENGTH);
        cairo_move_to(cr, x, y);
        cairo_rel_line_to(cr, MARKERLENGTH, 0);
        cairo_stroke(cr);
    } else if (type == 2) {
        gdk_cairo_set_source_color(cr, &color[2]);
        cairo_rectangle(cr, x - MARKERLENGTH / 2, y - MARKERLENGTH / 2, MARKERLENGTH, MARKERLENGTH);
        cairo_stroke(cr);
    }
}
开发者ID:Dalb,项目名称:g3data,代码行数:22,代码来源:drawing.c

示例4: cairo_save

void DefaultWebThemeEngine::paintCheckbox(WebCanvas* canvas, State state, const WebRect& rect, const ButtonExtraParams& param) const
{
    cairo_save(canvas);
    setupBorder(canvas, state);
    cairo_rectangle(canvas, rect.x + 0.5, rect.y + 0.5, rect.width, rect.height);
    cairo_stroke_preserve(canvas);

    gradientFill(canvas, rect.y, rect.height, state == StatePressed);

    if (param.checked) {
        const double border = 3;
        cairo_set_line_width(canvas, 2);
        cairo_set_source_rgb(canvas, CHECK_COLOR, CHECK_COLOR, CHECK_COLOR);
        cairo_move_to(canvas, rect.x + 0.5 + border, rect.y + 0.5 + rect.height - border);
        cairo_rel_line_to(canvas, rect.width - border * 2, -rect.height + border * 2);
        cairo_move_to(canvas, rect.x + 0.5 + border, rect.y + 0.5 + border);
        cairo_rel_line_to(canvas, rect.width - border * 2, rect.height - border * 2);
        cairo_stroke(canvas);
    }

    cairo_restore(canvas);
}
开发者ID:iArnaud,项目名称:webkitnix,代码行数:22,代码来源:DefaultWebThemeEngine.cpp

示例5: _cairo_draw_rounded_box

void
_cairo_draw_rounded_box (cairo_t *cr,
			 double   x,
			 double   y,
			 double   w,
			 double   h,
			 double   r)
{
	if (r == 0) {
		cairo_rectangle (cr, x, y, w, h);
	}
	else {
		cairo_move_to (cr, x, y + r);
		cairo_arc (cr, x + r, y + r, r, 1.0 * M_PI, 1.5 * M_PI);
		cairo_rel_line_to (cr, w - (r * 2), 0);
		cairo_arc (cr, x + w - r, y + r, r, 1.5 * M_PI, 2.0 * M_PI);
		cairo_rel_line_to (cr, 0, h - (r * 2));
		cairo_arc (cr, x + w - r, y + h - r, r, 0.0 * M_PI, 0.5 * M_PI);
		cairo_rel_line_to (cr, - (w - (r * 2)), 0);
		cairo_arc (cr, x + r, y + h - r, r, 0.5 * M_PI, 1.0 * M_PI);
		cairo_rel_line_to (cr, 0, - (h - (r * 2)));
	}
}
开发者ID:cormac-w,项目名称:gthumb,代码行数:23,代码来源:cairo-utils.c

示例6: rel_line_to

ETERM * rel_line_to(ETERM* arg, int c_node) {
    ETERM *x, *y;
    cairo_context *ctx = get_cairo_context(arg);
    if (ctx) {
        x = erl_element(2, arg);  
        y = erl_element(3, arg); 
        cairo_rel_line_to(ctx->cr, val(x), val(y));
        erl_free_term(x);
        erl_free_term(y);
        return erl_format("{c_node, ~i, ok}", c_node);
    } else { 
        return erl_format("{c_node, ~i, {error, '~s'}}", c_node, ERR_CONTEXT);
    }
}
开发者ID:chinnurtb,项目名称:erlycairo,代码行数:14,代码来源:erlycairo.c

示例7: gdk_threads_enter

JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GdkGraphics2D_cairoRelLineTo 
   (JNIEnv *env, jobject obj, jdouble dx, jdouble dy)
{
  struct graphics2d *gr = NULL;

  gdk_threads_enter();
  if (peer_is_disposed(env, obj)) { gdk_threads_leave(); return; }

  gr = (struct graphics2d *) NSA_GET_G2D_PTR (env, obj);
  g_assert (gr != NULL);
  if (gr->debug) printf ("cairo_rel_line_to (%f, %f)\n", dx, dy);
  cairo_rel_line_to (gr->cr, dx, dy);
  gdk_threads_leave();
}
开发者ID:aosm,项目名称:gcc_40,代码行数:14,代码来源:gnu_java_awt_peer_gtk_GdkGraphics2D.c

示例8: draw

static cairo_test_status_t
draw (cairo_t *cr, int width, int height)
{
    cairo_translate (cr, PAD, PAD);

    /* A red triangle with SOURCE */
    cairo_move_to     (cr,  SIZE / 5, SIZE / 5);
    cairo_rel_line_to (cr,  SIZE / 2, 0);
    cairo_rel_line_to (cr, -SIZE / 2, SIZE / 2);
    cairo_close_path (cr);

    cairo_set_operator (cr, CAIRO_OPERATOR_SOURCE);
    cairo_set_source_rgba (cr, 1., 0., 0., 0.5); /* 50% red */

    cairo_fill (cr);

    /* A green circle with OVER */
    cairo_arc (cr, SIZE / 2, SIZE / 2, SIZE / 4, 0., 2. * M_PI);

    cairo_set_operator (cr, CAIRO_OPERATOR_OVER);
    cairo_set_source_rgba (cr, 0., 1., 0., 0.5); /* 50% green */

    cairo_fill (cr);

    /* Another red triangle with SOURCE */
    cairo_move_to     (cr,  SIZE / 2, SIZE / 2);
    cairo_rel_line_to (cr,  SIZE / 2, 0);
    cairo_rel_line_to (cr, -SIZE / 2, SIZE / 2);
    cairo_close_path (cr);

    cairo_set_operator (cr, CAIRO_OPERATOR_SOURCE);
    cairo_set_source_rgba (cr, 1., 0., 0., 0.5); /* 50% red */

    cairo_fill (cr);

    return CAIRO_TEST_SUCCESS;
}
开发者ID:499940913,项目名称:moon,代码行数:37,代码来源:over-between-source.c

示例9: draw_text_cursor_cb

static gboolean
draw_text_cursor_cb (GtkWidget *widget, cairo_t *cr, gpointer user_data)
{
    GtkEditable *editable = GTK_EDITABLE(widget);
    GtkStyleContext *stylectxt = gtk_widget_get_style_context (GTK_WIDGET(widget));
    gint height = gtk_widget_get_allocated_height (widget);
    const gchar *text;
    GdkRGBA *fg_color;
    GdkRGBA color;
    gint x_offset;
    gint cursor_x = 0;

    // Get the layout x offset
    gtk_entry_get_layout_offsets (GTK_ENTRY(widget), &x_offset, NULL);

    // Get the foreground color
    gdk_rgba_parse (&color, "black");
    gtk_style_context_get_color (stylectxt, GTK_STATE_FLAG_NORMAL, &color);
    fg_color = &color;

    text = gtk_entry_get_text (GTK_ENTRY (widget));

    if ((text != NULL) && (*text != '\0'))
    {
        PangoLayout *layout;
        PangoRectangle strong_pos;
        gint start_pos, end_pos, cursor_pos, cursor_byte_pos;

        cursor_pos = gtk_editable_get_position (editable);
        cursor_byte_pos = g_utf8_offset_to_pointer (text, cursor_pos) - text;

        gtk_editable_get_selection_bounds (editable, &start_pos, &end_pos);

        layout = gtk_entry_get_layout (GTK_ENTRY(widget));
        pango_layout_get_cursor_pos (layout, cursor_byte_pos, &strong_pos, NULL);
        cursor_x = x_offset + PANGO_PIXELS (strong_pos.x);
    }
    else
        cursor_x = x_offset;

    // Now draw a vertical line
    cairo_set_source_rgb (cr, fg_color->red, fg_color->green, fg_color->blue);
    cairo_set_line_width (cr, 1.0);
    cairo_move_to (cr, cursor_x + 0.5, 2);
    cairo_rel_line_to (cr, 0, height - 4);
    cairo_stroke (cr);

    return FALSE;
}
开发者ID:carrot-garden,项目名称:money_gnucash,代码行数:49,代码来源:gnucash-item-edit.c

示例10: make_path

static void
make_path (cairo_t *cr)
{
    cairo_move_to (cr, 0, SIZE/2 + LINE_WIDTH);
    cairo_rel_line_to (cr, SIZE, 0);
    cairo_rel_line_to (cr, -SIZE, 0);
    cairo_close_path (cr);

    cairo_move_to (cr, 3*SIZE/4, 0);
    cairo_rel_line_to (cr, -SIZE/2, SIZE);
    cairo_rel_line_to (cr, SIZE/2, -SIZE);
    cairo_close_path (cr);

    cairo_move_to (cr, 0, SIZE/2-LINE_WIDTH);
    cairo_rel_curve_to (cr,
			SIZE/2, -2*LINE_WIDTH,
			SIZE/2, 2*LINE_WIDTH,
			SIZE, 0);
    cairo_rel_curve_to (cr,
			-SIZE/2, 2*LINE_WIDTH,
			-SIZE/2, -2*LINE_WIDTH,
			-SIZE, 0);
    cairo_close_path (cr);
}
开发者ID:AZed,项目名称:cairo,代码行数:24,代码来源:joins-retrace.c

示例11: gt_graphics_cairo_draw_vertical_line

void gt_graphics_cairo_draw_vertical_line(GtGraphics *gg, double x, double y,
                                          GtColor color, double length,
                                          double stroke_width)
{
  GtGraphicsCairo *g = gt_graphics_cairo_cast(gg);
  gt_assert(g);
  cairo_save(g->cr);
  cairo_move_to(g->cr, rnd_to_nhalf(x), rnd_to_nhalf(y));
  cairo_set_line_width(g->cr, 1);
  cairo_rel_line_to(g->cr, 0, floor(length));
  cairo_set_line_width(g->cr, stroke_width);
  cairo_set_source_rgba(g->cr, color.red, color.green, color.blue, color.alpha);
  cairo_stroke(g->cr);
  cairo_restore(g->cr);
}
开发者ID:simongog,项目名称:genometools,代码行数:15,代码来源:graphics_cairo.c

示例12: diagonal

static cairo_test_status_t
diagonal (cairo_t *cr, int width, int height)
{
    int x;

    cairo_set_source_rgb (cr, 0.0, 0.0, 0.0);
    cairo_paint (cr);

    cairo_set_source_rgba (cr, 1, 1, 1, 1);
    for (x = -HEIGHT*PRECISION-2; x <= (WIDTH+HEIGHT)*PRECISION+2; x += 6) {
	cairo_move_to (cr, x / (double)PRECISION - 2, -2);
	cairo_rel_line_to (cr, HEIGHT + 4, HEIGHT + 4);
    }
    cairo_set_line_width (cr, 2 / (double)PRECISION);
    cairo_stroke (cr);

    return CAIRO_TEST_SUCCESS;
}
开发者ID:GuoCheng111,项目名称:WinCairoRequirements,代码行数:18,代码来源:sample.c

示例13: psrpgn_

/*==================================================================================
 psrpgn - subroutine to generate closed polygons using rel. coordinates for all after
	the first
==================================================================================*/
void psrpgn_ (double *x1, double *y1, double *rx, double *ry, int *npts, double *rline, double *width,int *ifill) {

	int i;

	DEBUGPRINT(("In psrpgn\n"));
	completeRelativeOperation();
	cairo_move_to(dmh_cr, *x1, *y1);
	for (i = 0; i <= *npts-1; i++) {
		cairo_rel_line_to(dmh_cr, deviceW(rx[i]), deviceH(ry[i]));
	}
	cairo_close_path(dmh_cr);

	setLineProperties((int) *rline, *width);
	cairo_set_source_rgb (dmh_cr, 0, 0, 0);	/* black */
	cairo_stroke_preserve(dmh_cr);
	setFillType (*ifill);
	cairo_fill(dmh_cr);
}	
开发者ID:davehirsch,项目名称:Perplex,代码行数:22,代码来源:graphic_output.c

示例14: vcap_sunburst_draw

static double
vcap_sunburst_draw (cairo_t * cr, const struct vcap_data_entry * e, unsigned int m_radius, double arc_start)
{
  unsigned int i;
  double arc_end, radius, nrsum, c;

  radius = ((double)e->level / m_radius); 

  if (e->parent) {
    arc_end = arc_start + ((double)e->amount / vcap_data_lookup("eth")->amount) * 2 * M_PI;
  } else {
    arc_end = 2 * M_PI;
  }

  if (e->entries) 
    {
      nrsum = arc_start;
      for (i = 0; i < e->ecount; i++)
	{
	  nrsum = vcap_sunburst_draw(cr, e->entries[i], m_radius, nrsum);
	}
    }

  cairo_move_to (cr, 0, 0);
  cairo_rel_line_to (cr, cos (arc_start) * radius, sin (arc_start) * radius);
  cairo_arc (cr, 0, 0, radius, arc_start, arc_end);
  cairo_line_to (cr, 0, 0);

  c = ((double)(1/(double)(arc_start+e->level+1)))+0.2;
  cairo_set_source_rgb (cr, c + (e->level%3 > 0)*0.02, c + (e->level/3)*0.05, c + (e->level%2 == 0)*0.1); 
  cairo_fill_preserve (cr);

  cairo_set_source_rgb (cr, 0, 0, 0);
  cairo_set_line_width (cr, 0.001);
  cairo_stroke (cr);

  return arc_end;
}
开发者ID:dsp,项目名称:vcap,代码行数:38,代码来源:sunburst.c

示例15: metaball_a

//=================================================================================
// metaball
//=================================================================================
static void metaball_a(Qdr *qdr, cairo_t *cr, int edge, int x, int y, double radius)
{
	switch(edge){
		case 0:	//MB_NON
			cairo_arc(cr, x+radius, y+radius, radius, 180*(M_PI/180.0), 270*(M_PI/180.0));
			break;
		case 1:	//MB_TB
			cairo_arc(cr, x+radius, y+radius, radius, 180*(M_PI/180.0), 210*(M_PI/180.0));
			cairo_arc_negative(cr, x+radius-sqrt(3)*radius, y, radius, 30*(M_PI/180.0), 0*(M_PI/180.0));
			break;
		case 2:	//MB_LR
			cairo_arc_negative(cr, x, y+radius-sqrt(3)*radius, radius, 90*(M_PI/180.0), 60*(M_PI/180.0));
			cairo_arc(cr, x+radius, y+radius, radius, 240*(M_PI/180.0), 270*(M_PI/180.0));
			break;
		case 3:	//MB_BOTH
			cairo_arc_negative(cr, x, y, (2-sqrt(3))*radius, 90*(M_PI/180.0), 0*(M_PI/180.0));
			break;
		case 4:	//MB_FULL
			cairo_line_to(cr, x, y-radius);
			cairo_rel_line_to(cr, radius, 0);
			break;
	}
}
开发者ID:devilstan,项目名称:sqr,代码行数:26,代码来源:qdr_mark.c


注:本文中的cairo_rel_line_to函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。