knitr::opts_chunk$set(
  collapse = FALSE,
  comment = "#>"
)
library(cairocore)

C Code for 'Cairo Hello world' example from FAQ

This example was taken from the CairoGraphics FAQ

#include <cairo.h>

int main (int argc, char *argv[]) {
  cairo_surface_t *surface = cairo_image_surface_create (CAIRO_FORMAT_ARGB32, 240, 80);
  cairo_t *cr = cairo_create (surface);

  cairo_select_font_face (cr, "serif", CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_BOLD);
  cairo_set_font_size (cr, 32.0);
  cairo_set_source_rgb (cr, 0.0, 0.0, 1.0);
  cairo_move_to (cr, 10.0, 50.0);
  cairo_show_text (cr, "Hello, world");

  cairo_destroy (cr);
  cairo_surface_write_to_png (surface, "hello.png");
  cairo_surface_destroy (surface);
  return 0;
}

Equivalent R Code for 'Cairo Hello world'

library(cairocore)

# enum_find('CAIRO_FORMAT_ARGB32')
surface = cairo_image_surface_create (cairo_format_t$CAIRO_FORMAT_ARGB32, 240, 80)
cr = cairo_create (surface)

cairo_select_font_face (cr, "serif", cairo_font_slant_t$CAIRO_FONT_SLANT_NORMAL, cairo_font_weight_t$CAIRO_FONT_WEIGHT_BOLD)
cairo_set_font_size (cr, 32.0)
cairo_set_source_rgb (cr, 0.0, 0.0, 1.0)
cairo_move_to (cr, 10.0, 50.0)
cairo_show_text (cr, "Hello, world")

# cairo_surface_write_to_png (surface, "hello.png")
raster_out <- cairo_image_surface_get_raster(surface)
plot(raster_out)


coolbutuseless/cairocore documentation built on Aug. 31, 2020, 12:43 a.m.