⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pixman-rotate.c

📁 按照官方的说法:Cairo is a vector graphics library with cross-device output support. 翻译过来
💻 C
字号:
#include <stdio.h>#include <stdlib.h>#include <string.h>#include <math.h>#include <cairo.h>#include "cairo-test.h"#define WIDTH	32#define HEIGHT	WIDTH#define IMAGE_WIDTH	(3 * WIDTH)#define IMAGE_HEIGHT	IMAGE_WIDTHcairo_test_t test = {    "pixman-rotate",    "Exposes pixman off-by-one error when rotating",    IMAGE_WIDTH, IMAGE_HEIGHT};/* Draw the word cairo at NUM_TEXT different angles */static cairo_test_status_tdraw (cairo_t *cr, int width, int height){    cairo_surface_t *stamp;    cairo_t *cr2;    stamp = cairo_surface_create_similar (cairo_get_target (cr),					  CAIRO_CONTENT_COLOR_ALPHA,					  WIDTH, HEIGHT);    cr2 = cairo_create (stamp);    {	cairo_new_path (cr2);	cairo_rectangle (cr2, WIDTH / 4, HEIGHT / 4, WIDTH / 2, HEIGHT / 2);	cairo_set_source_rgba (cr2, 1, 0, 0, 0.8);	cairo_fill (cr2);	cairo_rectangle (cr2, 0, 0, WIDTH, HEIGHT);	cairo_set_line_width (cr2, 2);	cairo_set_source_rgb (cr2, 0, 0, 0);	cairo_stroke (cr2);    }    cairo_destroy (cr2);    /* Draw a translucent rectangle for reference where the rotated     * image should be. */    cairo_new_path (cr);    cairo_rectangle (cr, WIDTH, HEIGHT, WIDTH, HEIGHT);    cairo_set_source_rgba (cr, 1, 1, 0, 0.3);    cairo_fill (cr);#if 1 /* Set to 0 to generate reference image */    cairo_translate (cr, 2 * WIDTH, 2 * HEIGHT);    cairo_rotate (cr, M_PI);#else    cairo_translate (cr, WIDTH, HEIGHT);#endif    cairo_set_source_surface (cr, stamp, 0, 0);    cairo_paint (cr);    cairo_show_page (cr);    cairo_surface_destroy (stamp);    return CAIRO_TEST_SUCCESS;}intmain (void){    return cairo_test_expect_failure (&test, draw,				      "known off-by-one bug when rotating a pixman image");}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -