diff options
author | MyungJoo Ham <myungjoo.ham@samsung.com> | 2017-10-11 15:16:57 +0900 |
---|---|---|
committer | MyungJoo Ham <myungjoo.ham@samsung.com> | 2017-10-11 15:16:57 +0900 |
commit | 915c76ded744c0f5f151402b9fa69f3fd8452573 (patch) | |
tree | ca6a387466543248890f346847acaa8343989b22 /Tests/FindGTK2/cairo | |
parent | 317dbdb79761ef65e45c7358cfc7571c6afa54ad (diff) | |
download | cmake-915c76ded744c0f5f151402b9fa69f3fd8452573.tar.gz cmake-915c76ded744c0f5f151402b9fa69f3fd8452573.tar.bz2 cmake-915c76ded744c0f5f151402b9fa69f3fd8452573.zip |
Imported Upstream version 3.9.4upstream/3.9.4
Diffstat (limited to 'Tests/FindGTK2/cairo')
-rw-r--r-- | Tests/FindGTK2/cairo/CMakeLists.txt | 10 | ||||
-rw-r--r-- | Tests/FindGTK2/cairo/main.c | 50 |
2 files changed, 60 insertions, 0 deletions
diff --git a/Tests/FindGTK2/cairo/CMakeLists.txt b/Tests/FindGTK2/cairo/CMakeLists.txt new file mode 100644 index 000000000..97a736944 --- /dev/null +++ b/Tests/FindGTK2/cairo/CMakeLists.txt @@ -0,0 +1,10 @@ +cmake_minimum_required(VERSION 2.8) + +project(cairo C) + +find_package(GTK2 COMPONENTS gtk REQUIRED) + +set(CMAKE_INCLUDE_CURRENT_DIR ON) + +add_executable(cairo WIN32 main.c) +target_link_libraries(cairo GTK2::cairo) diff --git a/Tests/FindGTK2/cairo/main.c b/Tests/FindGTK2/cairo/main.c new file mode 100644 index 000000000..e2be60c2b --- /dev/null +++ b/Tests/FindGTK2/cairo/main.c @@ -0,0 +1,50 @@ +/* Taken from http://cairographics.org/samples/ */ + +#include <cairo.h> +#include <math.h> +#include <stdio.h> + +int main(int argc, char* argv[]) +{ + char* filename; + if (argc != 2) { + fprintf(stderr, "Usage: %s OUTPUT_FILENAME\n", argv[0]); + return 1; + } + filename = argv[1]; + double xc = 128.0; + double yc = 128.0; + double radius = 100.0; + double angle1 = 45.0 * (M_PI / 180.0); /* angles are specified */ + double angle2 = 180.0 * (M_PI / 180.0); /* in radians */ + + cairo_surface_t* im = + cairo_image_surface_create(CAIRO_FORMAT_ARGB32, xc * 2, yc * 2); + cairo_t* cr = cairo_create(im); + + cairo_set_line_width(cr, 10.0); + cairo_arc(cr, xc, yc, radius, angle1, angle2); + cairo_stroke(cr); + + /* draw helping lines */ + cairo_set_source_rgba(cr, 1, 0.2, 0.2, 0.6); + cairo_set_line_width(cr, 6.0); + + cairo_arc(cr, xc, yc, 10.0, 0, 2 * M_PI); + cairo_fill(cr); + + cairo_arc(cr, xc, yc, radius, angle1, angle1); + cairo_line_to(cr, xc, yc); + cairo_arc(cr, xc, yc, radius, angle2, angle2); + cairo_line_to(cr, xc, yc); + cairo_stroke(cr); + + cairo_status_t status = cairo_surface_write_to_png(im, filename); + cairo_surface_destroy(im); + if (status != CAIRO_STATUS_SUCCESS) { + fprintf(stderr, "Could not save png to '%s'\n", filename); + } + + cairo_destroy(cr); + return 0; +} |