• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C++ cairo_pattern_create_linear函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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



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

示例1: ge_cairo_linear_shade_gradient_pattern

/***********************************************
 * ge_cairo_linear_shade_gradient_pattern - 
 *  
 *   Create A Linear Shade Gradient Pattern
 *   Aka Smooth Shade Gradient, from/to gradient
 *   With End points defined as shades of the
 *   base color
 ***********************************************/
CairoPattern *
ge_cairo_linear_shade_gradient_pattern(CairoColor *base, 
                                       gdouble shade1, 
                                       gdouble shade2, 
                                       gboolean vertical)
{
	CairoPattern * result = g_new0(CairoPattern, 1);

	if (vertical)
	{
		result->scale = GE_DIRECTION_VERTICAL;

		result->handle = cairo_pattern_create_linear(0, 0, 1, 0);
	}
	else
	{
		result->scale = GE_DIRECTION_HORIZONTAL;

		result->handle = cairo_pattern_create_linear(0, 0, 0, 1);
	}

	result->translate = GE_DIRECTION_BOTH;
	result->operator = CAIRO_OPERATOR_SOURCE;

	ge_cairo_pattern_add_color_stop_shade(result->handle, 0, base, shade1);
	ge_cairo_pattern_add_color_stop_shade(result->handle, 1, base, shade2);

	return result;
}
开发者ID:Distrotech,项目名称:gtk-engines,代码行数:37,代码来源:cairo-support.c


示例2: ge_cairo_linear_shade_gradient_pattern

/***********************************************
 * ge_cairo_linear_shade_gradient_pattern - 
 *  
 *   Create A Linear Shade Gradient Pattern
 *   Aka Smooth Shade Gradient, from/to gradient
 *   With End points defined as shades of the
 *   base color
 ***********************************************/
CairoPattern *
ge_cairo_linear_shade_gradient_pattern(CairoColor *base, 
						gdouble shade1, 
						gdouble shade2, 
						gboolean vertical)
{
	CairoPattern * result = g_new0(CairoPattern, 1);
	
	#if  ((CAIRO_VERSION_MAJOR < 1) || ((CAIRO_VERSION_MAJOR == 1) && (CAIRO_VERSION_MINOR < 2)))
		result->type = CAIRO_PATTERN_TYPE_LINEAR;
	#endif

	if (vertical)
	{
		result->scale = GE_DIRECTION_VERTICAL;

		result->handle = cairo_pattern_create_linear(0, 0, 1, 0);
	}
	else
	{
		result->scale = GE_DIRECTION_HORIZONTAL;

		result->handle = cairo_pattern_create_linear(0, 0, 0, 1);
	}

	result->translate = GE_DIRECTION_BOTH;
	result->operator = CAIRO_OPERATOR_SOURCE;

	ge_cairo_pattern_add_color_stop_shade(result->handle, 0, base, shade1);
	ge_cairo_pattern_add_color_stop_shade(result->handle, 1, base, shade2);

	return result;
}
开发者ID:davidhalter-archive,项目名称:ardour,代码行数:41,代码来源:cairo-support.c


示例3: draw

static cairo_test_status_t
draw (cairo_t *cr, int width, int height)
{
    cairo_pattern_t *pattern;

    cairo_set_source_rgb (cr, 0, 0, 0);
    cairo_paint (cr);

    /* with alpha */
    pattern = cairo_pattern_create_linear (0, 0, 0, height);
    cairo_pattern_add_color_stop_rgba (pattern, 0, 1, 1, 1, .5);
    cairo_pattern_add_color_stop_rgba (pattern, 1, 1, 1, 1, .5);
    cairo_set_source (cr, pattern);
    cairo_pattern_destroy (pattern);
    cairo_rectangle (cr, 0, 0, width/2, height);
    cairo_fill (cr);

    /* without alpha */
    pattern = cairo_pattern_create_linear (0, 0, 0, height);
    cairo_pattern_add_color_stop_rgb (pattern, 0, 1, 1, 1);
    cairo_pattern_add_color_stop_rgb (pattern, 1, 1, 1, 1);
    cairo_set_source (cr, pattern);
    cairo_pattern_destroy (pattern);
    cairo_rectangle (cr, width/2, 0, width/2, height);
    cairo_fill (cr);

    return CAIRO_TEST_SUCCESS;
}
开发者ID:AZed,项目名称:cairo,代码行数:28,代码来源:linear-uniform.c


示例4: _ttk_draw_button_hover

void _ttk_draw_button_hover(cairo_t * cr, int x, int y, int width, int height) {
	cairo_save(cr);

	cairo_set_line_cap(cr, CAIRO_LINE_CAP_ROUND);
	cairo_set_line_join(cr, CAIRO_LINE_JOIN_ROUND);

	cairo_rounded_rectangle(cr, 2 + x, 2 + y, width - 4, height - 4, 2.0);
	cairo_set_source_rgba(cr, 44.0/255.0, 71.0/255.0, 91.0/255.0, 29.0/255.0);
	cairo_set_line_width(cr, 4);
	cairo_stroke(cr);

	cairo_rounded_rectangle(cr, 2 + x, 2 + y, width - 4, height - 4, 2.0);
	cairo_set_source_rgba(cr, 158.0/255.0, 169.0/255.0, 177.0/255.0, 1.0);
	cairo_set_line_width(cr, 2);
	cairo_stroke(cr);

	{
		cairo_pattern_t * pat = cairo_pattern_create_linear(2 + x, 2 + y, 2 + x, 2 + y + height - 4);
		cairo_pattern_add_color_stop_rgba(pat, 0, 1, 1, 1, 1);
		cairo_pattern_add_color_stop_rgba(pat, 1, 229.0/255.0, 229.0/255.0, 246.0/255.0, 1);
		cairo_rounded_rectangle(cr, 2 + x, 2 + y, width - 4, height - 4, 2.0);
		cairo_set_source(cr, pat);
		cairo_fill(cr);
		cairo_pattern_destroy(pat);
	}

	{
		cairo_pattern_t * pat = cairo_pattern_create_linear(3 + x, 3 + y, 3 + x, 3 + y + height - 4);
		cairo_pattern_add_color_stop_rgba(pat, 0, 252.0/255.0, 252.0/255.0, 254.0/255.0, 1);
		cairo_pattern_add_color_stop_rgba(pat, 1, 212.0/255.0, 223.0/255.0, 251.0/255.0, 1);
		cairo_rounded_rectangle(cr, 3 + x, 3 + y, width - 5, height - 5, 2.0);
		cairo_set_source(cr, pat);
		cairo_fill(cr);
		cairo_pattern_destroy(pat);
	}

	{
		cairo_surface_t * surface = cairo_get_target(cr);
		gfx_context_t fake_context = {
			.width = cairo_image_surface_get_width(surface),
			.height = cairo_image_surface_get_height(surface),
			.depth = 32,
			.buffer = NULL,
			.backbuffer = cairo_image_surface_get_data(surface)
		};

		set_font_face(FONT_SANS_SERIF);
		set_font_size(13);

		char * title = "Button with Hover Highlight";
		int str_width = draw_string_width(title);
		draw_string(&fake_context, (width - str_width) / 2 + x, y + (height) / 2 + 4, rgb(49,49,49), title);
	}

	cairo_restore(cr);
	
}
开发者ID:ijustcode,项目名称:toaruos,代码行数:57,代码来源:ttk-core.c


示例5: clearlooks_glossy_draw_progressbar_trough

static void
clearlooks_glossy_draw_progressbar_trough (cairo_t *cr,
                                    const ClearlooksColors *colors,
                                    const WidgetParameters *params,
                                    int x, int y, int width, int height)
{
	const CairoColor *border = &colors->shade[6];
	CairoColor        shadow;
	cairo_pattern_t  *pattern;
	double           radius = MIN (params->radius, MIN ((height-2.0) / 2.0, (width-2.0) / 2.0));
	
	cairo_save (cr);

	cairo_set_line_width (cr, 1.0);
	
	/* Fill with bg color */
	ge_cairo_set_color (cr, &colors->bg[params->state_type]);
	
	cairo_rectangle (cr, x, y, width, height);
	cairo_fill (cr);

	/* Create trough box */
	ge_cairo_rounded_rectangle (cr, x+1, y+1, width-2, height-2, radius, params->corners);
	ge_cairo_set_color (cr, &colors->shade[2]);
	cairo_fill (cr);

	/* Draw border */
	ge_cairo_rounded_rectangle (cr, x+0.5, y+0.5, width-1, height-1, radius, params->corners);
	clearlooks_set_mixed_color (cr, border, &colors->shade[2], 0.3);
	cairo_stroke (cr);

	/* clip the corners of the shadows */
	ge_cairo_rounded_rectangle (cr, x+1, y+1, width-2, height-2, radius, params->corners);
	cairo_clip (cr);

	ge_shade_color (border, 0.92, &shadow);

	/* Top shadow */
	cairo_rectangle (cr, x+1, y+1, width-2, 4);
	pattern = cairo_pattern_create_linear (x, y, x, y+4);
	cairo_pattern_add_color_stop_rgba (pattern, 0.0, shadow.r, shadow.g, shadow.b, 0.3);
	cairo_pattern_add_color_stop_rgba (pattern, 1.0, shadow.r, shadow.g, shadow.b, 0.);
	cairo_set_source (cr, pattern);
	cairo_fill (cr);
	cairo_pattern_destroy (pattern);

	/* Left shadow */
	cairo_rectangle (cr, x+1, y+1, 4, height-2);
	pattern = cairo_pattern_create_linear (x, y, x+4, y);
	cairo_pattern_add_color_stop_rgba (pattern, 0.0, shadow.r, shadow.g, shadow.b, 0.3);
	cairo_pattern_add_color_stop_rgba (pattern, 1.0, shadow.r, shadow.g, shadow.b, 0.);
	cairo_set_source (cr, pattern);
	cairo_fill (cr);
	cairo_pattern_destroy (pattern);

	cairo_restore (cr);
}
开发者ID:DanielAeolusLaude,项目名称:ardour,代码行数:57,代码来源:clearlooks_draw_glossy.c


示例6: cp_drawBackground

/*
 * Function resposible for drawing the plot background based on the settings
 * defined at CP_Context *ctx
 * 		@ctx:
 * 			CP_Context which point to the plot context.
 *
 * This function uses the following settings:
 * 	- bgGradient: pointer to a CP_Gradient structure. This structure defines
 * 	the gradient settings.
 * 	- bgColor: pointer to a CP_Color structure. This structure defines the flat
 * 	color to be used in the background
 *
 * If both pointers point to some contents C-CairoPlot will prefer to use a
 * Gradient over a flat color.
 * If none color is supported (neither flat or gradient) this function draws a
 * default background.
 *
 */
void cp_drawBackground(CP_Context *ctx)
{
	// Gradient Color
	if (ctx->bgGradient != NULL)
	{
		// TODO: Gradients should let users define the "orientation"
		// (left to right, right to left, up to down ou down to up) and the
		// gradient type (liner, radial or mesh)
		// mesh demo: https://gist.github.com/3159434
		cairo_pattern_t *pat;
		CP_Gradient *iter;
		pat = cairo_pattern_create_linear(0.5, 0.0, 0.5, 1);
		
		for (iter=ctx->bgGradient; iter; iter=iter->next)
			cairo_pattern_add_color_stop_rgba(pat, iter->position,
					iter->color->red, iter->color->green,
					iter->color->blue, iter->color->alpha);

		cairo_rectangle(ctx->cr, 0.0, 0.0, 1.0, 1.0);
		cairo_set_source(ctx->cr, pat);
		cairo_fill(ctx->cr);
		cairo_pattern_destroy(pat);
		return;
	}
	// Flat color
	else if (ctx->bgColor != NULL)
	{
		cairo_set_source_rgba(ctx->cr, ctx->bgColor->red,
				ctx->bgColor->green, ctx->bgColor->blue,
				ctx->bgColor->alpha);
		cairo_rectangle(ctx->cr, 0, 0, 1, 1);
		cairo_fill(ctx->cr);
	}
	else
	{
		// Default Color
		cairo_pattern_t *pat;
		pat = cairo_pattern_create_linear(0.5, 0.0, 0.5, 1);
		cairo_pattern_add_color_stop_rgba(pat, 0.0, 1.0, 1.0, 1.0, 1.0);
		cairo_pattern_add_color_stop_rgba(pat, 1.0, 0.9, 0.9, 0.9, 1.0);
		cairo_rectangle(ctx->cr, 0.0, 0.0, 1.0, 1.0);
		cairo_set_source(ctx->cr, pat);
		cairo_fill(ctx->cr);
		cairo_pattern_destroy(pat);
		return;
	}

}
开发者ID:magnunleno,项目名称:C-CairoPlot,代码行数:66,代码来源:plot.c


示例7: update_background

static void
update_background (ClutterActor       *tex,
                   const ClutterColor *color,
                   gfloat              width,
                   gfloat              height)
{
  cairo_t *cr = clutter_cairo_texture_create (CLUTTER_CAIRO_TEXTURE (tex));
  cairo_pattern_t *pat;
  gfloat x, y;

#define BG_ROUND_RADIUS         12

  x = y = 0;

  cairo_move_to (cr, BG_ROUND_RADIUS, y);
  cairo_line_to (cr, width - BG_ROUND_RADIUS, y);
  cairo_curve_to (cr, width, y, width, y, width, BG_ROUND_RADIUS);
  cairo_line_to (cr, width, height - BG_ROUND_RADIUS);
  cairo_curve_to (cr, width, height, width, height, width - BG_ROUND_RADIUS, height);
  cairo_line_to (cr, BG_ROUND_RADIUS, height);
  cairo_curve_to (cr, x, height, x, height, x, height - BG_ROUND_RADIUS);
  cairo_line_to (cr, x, BG_ROUND_RADIUS);
  cairo_curve_to (cr, x, y, x, y, BG_ROUND_RADIUS, y);

  cairo_close_path (cr);

  clutter_cairo_set_source_color (cr, color);
  cairo_stroke (cr);

  x += 4;
  y += 4;
  width -= 4;
  height -= 4;

  cairo_move_to (cr, BG_ROUND_RADIUS, y);
  cairo_line_to (cr, width - BG_ROUND_RADIUS, y);
  cairo_curve_to (cr, width, y, width, y, width, BG_ROUND_RADIUS);
  cairo_line_to (cr, width, height - BG_ROUND_RADIUS);
  cairo_curve_to (cr, width, height, width, height, width - BG_ROUND_RADIUS, height);
  cairo_line_to (cr, BG_ROUND_RADIUS, height);
  cairo_curve_to (cr, x, height, x, height, x, height - BG_ROUND_RADIUS);
  cairo_line_to (cr, x, BG_ROUND_RADIUS);
  cairo_curve_to (cr, x, y, x, y, BG_ROUND_RADIUS, y);

  cairo_close_path (cr);

  pat = cairo_pattern_create_linear (0, 0, 0, height);
  cairo_pattern_add_color_stop_rgba (pat, 1, .85, .85, .85, 1);
  cairo_pattern_add_color_stop_rgba (pat, .95, 1, 1, 1, 1);
  cairo_pattern_add_color_stop_rgba (pat, .05, 1, 1, 1, 1);
  cairo_pattern_add_color_stop_rgba (pat, 0, .85, .85, .85, 1);

  cairo_set_source (cr, pat);
  cairo_fill (cr);

  cairo_pattern_destroy (pat);
  cairo_destroy (cr);

#undef BG_ROUND_RADIUS
}
开发者ID:spatulasnout,项目名称:clutter,代码行数:60,代码来源:test-bin-layout.c


示例8: cairo_rectangle

void Taskbar::Draw(cairo_t *cr)
{
    static double start_colour = 0.8;
    static double end_colour = 0.7;
    int m_colour = 0xf0f0f0;

    cairo_pattern_t     *pattern;
    double              red = ((m_colour >> 16) & 0xff) / 255.0;
    double              green = ((m_colour >> 8) & 0xff) / 255.0;
    double              blue = ((m_colour) & 0xff) / 255.0;

    cairo_rectangle(cr, 0.5, 0.5, m_draw_size.m_width-1.0, m_draw_size.m_height-1.0);

    pattern = cairo_pattern_create_linear(0, 0, 0, m_draw_size.m_height);
    cairo_pattern_add_color_stop_rgb(pattern, 0.0, start_colour*red, start_colour*green, start_colour*blue);
    cairo_pattern_add_color_stop_rgb(pattern, 1.0, end_colour*red, end_colour*green, end_colour*blue);

    /* Fill with our pattern */
    cairo_set_source(cr, pattern);
    cairo_fill(cr);

    /* Destroy the pattern */
    cairo_pattern_destroy(pattern);

    // Now draw a line at the bottom
    const double bound_colour = 0.5;
    cairo_set_source_rgb(cr, bound_colour, bound_colour, bound_colour);
    cairo_set_line_width(cr, 1.0);
    cairo_move_to(cr, 0.5, m_draw_size.m_height-0.5);
    cairo_line_to(cr, m_draw_size.m_width-0.5, m_draw_size.m_height-0.5);
    cairo_stroke(cr);

    drawChild(cr);
}
开发者ID:gerryg400,项目名称:anvilos,代码行数:34,代码来源:Taskbar.cpp


示例9: clearlooks_inverted_draw_menubaritem

static void
clearlooks_inverted_draw_menubaritem (cairo_t *cr,
                          const ClearlooksColors          *colors,
                          const WidgetParameters          *widget,
                          int x, int y, int width, int height)
{
	CairoColor *fill = (CairoColor*)&colors->spot[1];
	CairoColor fill_shade;
	CairoColor border = colors->spot[2];
	cairo_pattern_t *pattern;
	
	ge_shade_color (&border, 1.05, &border);
	ge_shade_color (fill, 0.85, &fill_shade);
	
	cairo_set_line_width (cr, 1.0);
	ge_cairo_rounded_rectangle (cr, x + 0.5, y + 0.5, width - 1, height, widget->radius, widget->corners);

	pattern = cairo_pattern_create_linear (x, y, x, y + height);
	cairo_pattern_add_color_stop_rgb (pattern, 0, fill_shade.r, fill_shade.g, fill_shade.b);
	cairo_pattern_add_color_stop_rgb (pattern, 1.0,   fill->r, fill->g, fill->b);

	cairo_set_source (cr, pattern);
	cairo_fill_preserve  (cr);
	cairo_pattern_destroy (pattern);

	ge_cairo_set_color (cr, &border);
	cairo_stroke_preserve (cr);
}
开发者ID:TALAPCH1,项目名称:LXDE-configuration,代码行数:28,代码来源:clearlooks_draw_inverted.c


示例10: draw

static cairo_test_status_t
draw (cairo_t *cr, int width, int height)
{
    cairo_pattern_t *pattern;

    cairo_set_source_rgb (cr, 0.5, 0.5, 0.5);
    cairo_paint (cr);

    cairo_save (cr);

    pattern = cairo_pattern_create_linear (0, 0, 10.0, 0);

    cairo_pattern_add_color_stop_rgb (pattern, 0.0,
				      0.0, 0.0, 1.0);
    cairo_pattern_add_color_stop_rgb (pattern, 1.0,
				      1.0, 0.0, 0.0);
    cairo_pattern_set_extend (pattern, CAIRO_EXTEND_REFLECT);

    cairo_set_source (cr, pattern);
    cairo_pattern_destroy (pattern);
    cairo_rectangle (cr, 0.0, 0.0, WIDTH, HEIGHT);
    cairo_fill (cr);

    cairo_restore (cr);

    return CAIRO_TEST_SUCCESS;
}
开发者ID:ghub,项目名称:NVprSDK,代码行数:27,代码来源:linear-gradient-reflect.c


示例11: terranova_draw_candy_selected_cell

static void
terranova_draw_candy_selected_cell (cairo_t                  *cr,
                                    const terranovaColors   *colors,
                                    const WidgetParameters   *params,
                                    int x, int y, int width, int height)
{
    cairo_save (cr);

    cairo_translate (cr, x, y);

    cairo_pattern_t *pattern;

    CairoColor fill = colors->bg[params->state_type];
    CairoColor shade1, shade2;
    tn_shade_color (&fill, 0.96, &shade1);
    tn_shade_color (&fill, 1.10, &shade2);

    pattern	= cairo_pattern_create_linear (0, 0, 0, height);
    cairo_pattern_add_color_stop_rgb (pattern, 0.00, shade1.r, shade1.g, shade1.b);
    cairo_pattern_add_color_stop_rgb (pattern, 0.35, shade1.r, shade1.g, shade1.b);
    cairo_pattern_add_color_stop_rgb (pattern, 0.65, shade2.r, shade2.g, shade2.b);
    cairo_pattern_add_color_stop_rgb (pattern, 1.00, shade2.r, shade2.g, shade2.b);

    cairo_set_source (cr, pattern);
    cairo_rectangle  (cr, 0, 0, width, height);
    cairo_fill       (cr);
    cairo_pattern_destroy (pattern);

    cairo_restore (cr);
}
开发者ID:Nanolx,项目名称:TerraNova-GTK2,代码行数:30,代码来源:terranova_draw_candy.c


示例12: terranova_draw_candy_list_view_header

static void
terranova_draw_candy_list_view_header (cairo_t *cr,
                                       const terranovaColors          *colors,
                                       const WidgetParameters          *params,
                                       const ListViewHeaderParameters  *header,
                                       int x, int y, int width, int height)
{
    const CairoColor *fill = &colors->bg[GTK_STATE_NORMAL];
    cairo_pattern_t *pattern;

    cairo_translate (cr, x, y);

    CairoColor shade1, shade2;
    tn_shade_color (fill, 0.96, &shade1);
    tn_shade_color (fill, 1.10, &shade2);

    pattern	= cairo_pattern_create_linear (0, 0, 0, height);
    cairo_pattern_add_color_stop_rgb (pattern, 0.00, shade1.r, shade1.g, shade1.b);
    cairo_pattern_add_color_stop_rgb (pattern, 0.35, shade1.r, shade1.g, shade1.b);
    cairo_pattern_add_color_stop_rgb (pattern, 0.65, shade2.r, shade2.g, shade2.b);
    cairo_pattern_add_color_stop_rgb (pattern, 1.00, shade2.r, shade2.g, shade2.b);
    cairo_set_source (cr, pattern);
    cairo_rectangle (cr, 0, 0, width, height);
    cairo_fill (cr);
    cairo_pattern_destroy (pattern);

}
开发者ID:Nanolx,项目名称:TerraNova-GTK2,代码行数:27,代码来源:terranova_draw_candy.c


示例13: _eventd_nd_cairo_image_and_icon_draw_background

static void
_eventd_nd_cairo_image_and_icon_draw_background(cairo_t *cr, cairo_surface_t *image, cairo_surface_t *icon, EventdNdStyle *style, gint width, gint height)
{
    gint padding;

    padding = eventd_nd_style_get_bubble_padding(style);

    if ( image != NULL )
        _eventd_nd_cairo_surface_draw(cr, image, padding, padding);

    if ( icon != NULL )
    {
        gint x1, x2, y;
        cairo_pattern_t *mask;

        x2 = width - padding;
        x1 = x2 - cairo_image_surface_get_width(icon);
        y = _eventd_nd_cairo_get_valign(eventd_nd_style_get_icon_anchor(style), height, padding, cairo_image_surface_get_height(icon));

        mask = cairo_pattern_create_linear(x1, 0, x2, 0);
        cairo_pattern_add_color_stop_rgba(mask, 0, 0, 0, 0, 0);
        cairo_pattern_add_color_stop_rgba(mask, eventd_nd_style_get_icon_fade_width(style), 0, 0, 0, 1);

        cairo_set_source_surface(cr, icon, x1, y);
        cairo_mask(cr, mask);
        cairo_surface_destroy(icon);
    }
}
开发者ID:Keruspe,项目名称:eventd,代码行数:28,代码来源:icon.c


示例14: fill_background

/* Fill background */
static void
fill_background(GtkWidget *widget, WindowData *windata, cairo_t *cr)
{
	float alpha;
	if (windata->enable_transparency)
		alpha = BACKGROUND_OPACITY;
	else
		alpha = 1.0;

	cairo_pattern_t *pattern;
	pattern = cairo_pattern_create_linear (0, 0, 0, windata->height);
	cairo_pattern_add_color_stop_rgba (pattern, 0, 
        19/255.0, 19/255.0, 19/255.0, alpha);
	cairo_pattern_add_color_stop_rgba (pattern, GRADIENT_CENTER, 
        19/255.0, 19/255.0, 19/255.0, alpha);
	cairo_pattern_add_color_stop_rgba (pattern, 1, 
        19/255.0, 19/255.0, 19/255.0, alpha);
	cairo_set_source (cr, pattern);
	cairo_pattern_destroy (pattern);
	
    nodoka_rounded_rectangle (cr, 0, 8, windata->width-8,
        windata->height-8, 6);

	cairo_fill (cr);	
}
开发者ID:VictorCabello,项目名称:mate-notification-daemon,代码行数:26,代码来源:coco-theme.c


示例15: on_draw

static gboolean
on_draw(JoyBubble *image, cairo_t *cr, G_GNUC_UNUSED gpointer data)
{
	gint width = joy_bubble_get_width(image) - 2;
	gint height = joy_bubble_get_height(image) - 2;
	double aspect = 0.75;
	double corner_radius = height / 30.;
	double radius = corner_radius / aspect;
	double degrees = M_PI / 180.;
	cairo_translate(cr, 1., 1.);
	/* background */
	cairo_arc(cr, width - radius, radius, radius, -90 * degrees, 0);
	cairo_arc(cr, width - radius, height - radius, radius, 0,
			90 * degrees);
	cairo_arc(cr, radius, height - radius, radius, 90 * degrees,
			180 * degrees);
	cairo_arc(cr, radius, radius, radius, 180 * degrees, 270 * degrees);
	cairo_close_path(cr);
	cairo_pattern_t *pat = cairo_pattern_create_linear(0, 0, 0, height);
	cairo_pattern_add_color_stop_rgba(pat, 0., 1., 1., 1., 0.85);
	cairo_pattern_add_color_stop_rgba(pat, 0.25, 0.39, 0.58, 0.93, 0.85);
	cairo_set_source(cr, pat);
	cairo_pattern_destroy(pat);
	cairo_fill_preserve(cr);
	/* outline */
	cairo_set_source_rgba(cr, 1., 1., 1., 1.);
	cairo_set_line_width(cr, 2.);
	cairo_stroke(cr);
	return TRUE;
}
开发者ID:msteinert,项目名称:joybubbles,代码行数:30,代码来源:joybubbles-test.c


示例16: _draw_mode_toggle

static void _draw_mode_toggle(cairo_t *cr, float x, float y, float width, float height, int type)
{
  cairo_save(cr);
  cairo_translate(cr, x, y);

  // border
  float border = MIN(width*.1, height*.1);
  cairo_set_source_rgba(cr, 0.0, 0.0, 0.0, 0.4);
  cairo_rectangle(cr, border, border, width-2.0*border, height-2.0*border);
  cairo_fill_preserve(cr);
  cairo_set_source_rgba(cr, 0.0, 0.0, 0.0, 0.5);
  cairo_set_line_width(cr, border);
  cairo_stroke(cr);

  // icon
  cairo_set_source_rgba(cr, 1.0, 1.0, 1.0, 0.5);
  cairo_move_to(cr, 2.0*border, height-2.0*border);
  switch(type)
  {
    case DT_DEV_HISTOGRAM_LINEAR:
      cairo_line_to(cr, width-2.0*border, 2.0*border);
      cairo_stroke(cr);
      break;
    case DT_DEV_HISTOGRAM_LOGARITHMIC:
      cairo_curve_to(cr, 2.0*border, 0.33*height, 0.66*width, 2.0*border, width-2.0*border, 2.0*border);
      cairo_stroke(cr);
      break;
    case DT_DEV_HISTOGRAM_WAVEFORM:
    {
      cairo_pattern_t *pattern;
      pattern = cairo_pattern_create_linear(0.0, 1.5*border, 0.0, height-3.0*border);

      cairo_pattern_add_color_stop_rgba(pattern, 0.0, 0.0, 0.0, 0.0, 0.5);
      cairo_pattern_add_color_stop_rgba(pattern, 0.2, 0.2, 0.2, 0.2, 0.5);
      cairo_pattern_add_color_stop_rgba(pattern, 0.5, 1.0, 1.0, 1.0, 0.5);
      cairo_pattern_add_color_stop_rgba(pattern, 0.6, 1.0, 1.0, 1.0, 0.5);
      cairo_pattern_add_color_stop_rgba(pattern, 1.0, 0.2, 0.2, 0.2, 0.5);

      cairo_rectangle(cr, 1.5*border, 1.5*border, (width-3.0*border)*0.3, height-3.0*border);
      cairo_set_source(cr, pattern);
      cairo_fill(cr);

      cairo_save(cr);
      cairo_scale(cr, 1, -1);
      cairo_translate(cr, 0, -height);
      cairo_rectangle(cr, 1.5*border + (width-3.0*border)*0.2, 1.5*border, (width-3.0*border)*0.6, height-3.0*border);
      cairo_set_source(cr, pattern);
      cairo_fill(cr);
      cairo_restore(cr);

      cairo_rectangle(cr, 1.5*border + (width-3.0*border)*0.7, 1.5*border, (width-3.0*border)*0.3, height-3.0*border);
      cairo_set_source(cr, pattern);
      cairo_fill(cr);

      cairo_pattern_destroy(pattern);
      break;
    }
  }
 cairo_restore(cr);
}
开发者ID:MarcAntoine-Arnaud,项目名称:darktable,代码行数:60,代码来源:histogram.c


示例17: uber_heat_map_render

/**
 * uber_heat_map_render:
 * @graph: A #UberGraph.
 *
 * XXX
 *
 * Returns: None.
 * Side effects: None.
 */
static void
uber_heat_map_render (UberGraph    *graph, /* IN */
                      cairo_t      *cr,    /* IN */
                      GdkRectangle *area)  /* IN */
{
#if 0
    UberGraphPrivate *priv;
    cairo_pattern_t *cp;

    g_return_if_fail(UBER_IS_HEAT_MAP(graph));

    priv = graph->priv;
    /*
     * XXX: Temporarily draw a nice little gradient to test sliding.
     */
    cp = cairo_pattern_create_linear(0, 0, area->width, 0);
    cairo_pattern_add_color_stop_rgb(cp, 0, .1, .1, .1);
    cairo_pattern_add_color_stop_rgb(cp, .2, .3, .3, .5);
    cairo_pattern_add_color_stop_rgb(cp, .4, .2, .7, .4);
    cairo_pattern_add_color_stop_rgb(cp, .7, .6, .2, .1);
    cairo_pattern_add_color_stop_rgb(cp, .8, .6, .8, .1);
    cairo_pattern_add_color_stop_rgb(cp, 1., .3, .8, .5);
    gdk_cairo_rectangle(cr, area);
    cairo_set_source(cr, cp);
    cairo_fill(cr);
    cairo_pattern_destroy(cp);
#endif
}
开发者ID:radii,项目名称:uber,代码行数:37,代码来源:uber-heat-map.c


示例18: terranova_draw_candy_icon_view_item

static void
terranova_draw_candy_icon_view_item (cairo_t *cr,
                                     const terranovaColors *colors,
                                     const WidgetParameters *params,
                                     int x, int y, int width, int height)
{
    const CairoColor *fill = &colors->bg[GTK_STATE_SELECTED];

    cairo_save (cr);

    cairo_translate (cr, x, y);

    cairo_pattern_t *pattern;

    CairoColor shade1, shade2;
    tn_shade_color (fill, 0.94, &shade1);
    tn_shade_color (fill, 1.00, &shade2);

    pattern	= cairo_pattern_create_linear (0, 1, 0, height);
    cairo_pattern_add_color_stop_rgb (pattern, 0.00, shade1.r, shade1.g, shade1.b);
    cairo_pattern_add_color_stop_rgb (pattern, 0.35, shade1.r, shade1.g, shade1.b);
    cairo_pattern_add_color_stop_rgb (pattern, 0.65, shade2.r, shade2.g, shade2.b);
    cairo_pattern_add_color_stop_rgb (pattern, 1.00, shade2.r, shade2.g, shade2.b);

    cairo_set_source (cr, pattern);
    tn_cairo_rounded_rectangle  (cr, 0, 0, width, height, params->radius, CR_CORNER_ALL);

    cairo_fill (cr);
    cairo_pattern_destroy (pattern);

    cairo_restore (cr);
}
开发者ID:Nanolx,项目名称:TerraNova-GTK2,代码行数:32,代码来源:terranova_draw_candy.c


示例19: clearlooks_glossy_draw_menubaritem

static void
clearlooks_glossy_draw_menubaritem (cairo_t                   *cr,
                                    const ClearlooksColors    *colors,
                                    const WidgetParameters    *params,
                                    int x, int y, int width, int height)
{
	const CairoColor *fill = &colors->spot[1];
	const CairoColor *border = &colors->spot[2];
	CairoColor shade1, shade2, shade3;
	cairo_pattern_t *pattern;

	ge_shade_color (fill, 1.16, &shade1);
	ge_shade_color (fill, 1.08, &shade2);
	ge_shade_color (fill, 1.08, &shade3);
	cairo_set_line_width (cr, 1.0);

	ge_cairo_rounded_rectangle (cr, x+0.5, y+0.5, width - 1, height - 1, params->radius, params->corners);

	pattern = cairo_pattern_create_linear (x, y, x, y + height);
	cairo_pattern_add_color_stop_rgb (pattern, 0,   shade1.r, shade1.g, shade1.b);
	cairo_pattern_add_color_stop_rgb (pattern, 0.5,	shade2.r, shade2.g, shade2.b);
	cairo_pattern_add_color_stop_rgb (pattern, 0.5, fill->r,  fill->g,  fill->b);
	cairo_pattern_add_color_stop_rgb (pattern, 1,	shade3.r, shade3.g, shade3.b);

	cairo_set_source (cr, pattern);
	cairo_fill_preserve  (cr);
	cairo_pattern_destroy (pattern);

	ge_cairo_set_color (cr, border);
	cairo_stroke (cr);
}
开发者ID:GNOME,项目名称:gtk-theme-engine-clearlooks,代码行数:31,代码来源:clearlooks_draw_glossy.c


示例20: terranova_draw_candy_menubaritem

static void
terranova_draw_candy_menubaritem (cairo_t *cr,
                                  const terranovaColors          *colors,
                                  const WidgetParameters *params,
                                  int x, int y, int width, int height)
{
    const CairoColor *fill = &colors->bg[GTK_STATE_SELECTED];
    CairoColor border = colors->spot[2];
    cairo_pattern_t *pattern;

    tn_shade_color (&border, 1.00, &border);

    CairoColor shade1, shade2;
    tn_shade_color (fill, 0.96, &shade1);
    tn_shade_color (fill, 1.10, &shade2);

    pattern	= cairo_pattern_create_linear (x, y, x, y + height);
    cairo_pattern_add_color_stop_rgb (pattern, 0.00, shade1.r, shade1.g, shade1.b);
    cairo_pattern_add_color_stop_rgb (pattern, 0.35, shade1.r, shade1.g, shade1.b);
    cairo_pattern_add_color_stop_rgb (pattern, 0.65, shade2.r, shade2.g, shade2.b);
    cairo_pattern_add_color_stop_rgb (pattern, 1.00, shade2.r, shade2.g, shade2.b);

    cairo_set_source (cr, pattern);
    tn_cairo_rounded_rectangle (cr, x+0.75, y+0.75, width - 1, height - 1, params->radius, params->corners);
    cairo_fill_preserve (cr);
    cairo_pattern_destroy (pattern);

    tn_cairo_set_color (cr, &border);
    cairo_stroke_preserve (cr);
}
开发者ID:Nanolx,项目名称:TerraNova-GTK2,代码行数:30,代码来源:terranova_draw_candy.c



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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C++ cairo_pattern_create_radial函数代码示例发布时间:2022-05-30
下一篇:
C++ cairo_pattern_create_for_surface函数代码示例发布时间:2022-05-30
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap