% PLcairo port of SWI-Prolog SVG logo at http://www.swi-prolog.org/icons/vector/swipl-logo.svg. % Keri Harris , 2017. :- use_module(library(plgi)). :- use_module(library(plcairo)). :- plgi_use_namespace('Gtk'). on_draw_event(_DrawingArea, CairoContext, _UserData, false) :- Angle360 is 2*pi, cairo_set_line_width(CairoContext, 0.25), cairo_set_miter_limit(CairoContext, 1.0), cairo_translate(CairoContext, -194.0, -265.0), % Grey background cairo_pattern_create_radial(1745.801, -3068.4788, 0.0, 1745.801, -3068.4788, 127.8063, PatternSt0), plgi_struct_new('CairoMatrix'(), MatrixSt0), cairo_matrix_init(MatrixSt0, 0.74, -0.6726, 0.6726, 0.74, 1020.2621, 3781.2056), cairo_matrix_invert(MatrixSt0), cairo_pattern_set_matrix(PatternSt0, MatrixSt0), cairo_pattern_add_color_stop_rgb(PatternSt0, 0.0, 1.0, 1.0, 1.0), cairo_pattern_add_color_stop_rgb(PatternSt0, 0.1697, 0.976, 0.976, 0.976), cairo_pattern_add_color_stop_rgb(PatternSt0, 0.3429, 0.933, 0.937, 0.937), cairo_pattern_add_color_stop_rgb(PatternSt0, 0.5178, 0.867, 0.871, 0.875), cairo_pattern_add_color_stop_rgb(PatternSt0, 0.6928, 0.773, 0.780, 0.788), cairo_pattern_add_color_stop_rgb(PatternSt0, 0.8242, 0.686, 0.694, 0.706), cairo_set_source(CairoContext, PatternSt0), cairo_move_to(CairoContext, 364.2, 297.1), cairo_rel_curve_to(CairoContext, 36.3, 40.0, 33.4, 101.8, -6.6, 138.1), cairo_rel_curve_to(CairoContext, -40.0, 36.3, -101.8, 33.4, -138.1, -6.6), cairo_rel_curve_to(CairoContext, -36.3, -40.0, -33.4, -101.8, 6.6, -138.1), cairo_curve_to(CairoContext, 266.0, 254.2, 327.8, 257.1, 364.2, 297.1), cairo_close_path(CairoContext), cairo_fill(CairoContext), % Blue swirl cairo_pattern_create_radial(225.3332, 442.1758, 0.0, 225.3332, 442.1758, 108.6364, PatternSt1), plgi_struct_new('CairoMatrix'(), MatrixSt1), cairo_matrix_init(MatrixSt1, 1.0722, 0.0, 0.0, 1.1662, -24.699, -176.0687), cairo_matrix_invert(MatrixSt1), cairo_pattern_set_matrix(PatternSt1, MatrixSt1), cairo_pattern_add_color_stop_rgb(PatternSt1, 0.0, 0.984, 0.996, 1.0), cairo_pattern_add_color_stop_rgb(PatternSt1, 0.0823, 0.914, 0.929, 0.961), cairo_pattern_add_color_stop_rgb(PatternSt1, 0.2298, 0.765, 0.812, 0.894), cairo_pattern_add_color_stop_rgb(PatternSt1, 0.4255, 0.557, 0.659, 0.8), cairo_pattern_add_color_stop_rgb(PatternSt1, 0.6594, 0.310, 0.490, 0.686), cairo_pattern_add_color_stop_rgb(PatternSt1, 0.7455, 0.2, 0.435, 0.647), cairo_pattern_add_color_stop_rgb(PatternSt1, 0.79, 0.165, 0.404, 0.6), cairo_pattern_add_color_stop_rgb(PatternSt1, 0.8707, 0.024, 0.325, 0.494), cairo_pattern_add_color_stop_rgb(PatternSt1, 0.9779, 0.0, 0.212, 0.341), cairo_pattern_add_color_stop_rgb(PatternSt1, 0.9939, 0.0, 0.192, 0.322), cairo_set_source(CairoContext, PatternSt1), cairo_move_to(CairoContext, 319.3, 295.2), cairo_rel_curve_to(CairoContext, -10.7, -9.5, -26.7, -16.3, -45.4, -16.3), cairo_rel_curve_to(CairoContext, -34.1, 0.0, -67.5, 26.0, -70.1, 76.8), cairo_rel_curve_to(CairoContext, -2.8, 54.5, 33.2, 89.8, 83.8, 89.8), cairo_rel_curve_to(CairoContext, 75.0, 0.0, 116.4, -68.3, 70.0, -142.4), cairo_rel_curve_to(CairoContext, 32.6, 74.0, -3.7, 120.7, -50.5, 120.7), cairo_rel_curve_to(CairoContext, -38.0, 0.0, -67.1, -25.5, -67.1, -72.3), cairo_curve_to(CairoContext, 240.0, 284.0, 290.6, 279.3, 319.3, 295.2), cairo_close_path(CairoContext), cairo_fill(CairoContext), % Owl outline cairo_pattern_create_radial(258.5628, 326.4018, 0.0, 258.5628, 326.4018, 115.8998, PatternSt2), plgi_struct_new('CairoMatrix'(), MatrixSt2), cairo_matrix_init(MatrixSt2, 1.0, 0.0, 0.0, 1.0618, 0.0, -10.8031), cairo_matrix_invert(MatrixSt2), cairo_pattern_set_matrix(PatternSt2, MatrixSt2), cairo_pattern_add_color_stop_rgb(PatternSt2, 0.0, 1.0, 0.839, 0.251), cairo_pattern_add_color_stop_rgb(PatternSt2, 0.6667, 0.929, 0.110, 0.141), cairo_pattern_add_color_stop_rgb(PatternSt2, 0.9939, 0.463, 0.0, 0.0), cairo_set_source(CairoContext, PatternSt2), cairo_move_to(CairoContext, 338.6, 323.8), cairo_rel_curve_to(CairoContext, -2.0, -6.6, -4.5, -19.5, 4.4, -27.0), cairo_rel_curve_to(CairoContext, 0.0, 0.0, -17.2, -4.1, -26.8, 10.7), cairo_rel_curve_to(CairoContext, -8.0, -3.6, -16.8, -5.5, -26.0, -5.5), cairo_rel_curve_to(CairoContext, -9.3, 0.0, -18.2, 2.0, -26.2, 5.6), cairo_rel_curve_to(CairoContext, -9.6, -14.9, -26.9, -10.8, -26.9, -10.8), cairo_rel_curve_to(CairoContext, 9.1, 7.7, 6.4, 21.0, 4.3, 27.4), cairo_rel_curve_to(CairoContext, -11.5, 12.8, -18.6, 30.1, -18.6, 49.2), cairo_rel_curve_to(CairoContext, 0.0, 15.2, 9.8, 32.4, 11.7, 55.6), cairo_rel_line_to(CairoContext, 12.4, -10.7), cairo_rel_curve_to(CairoContext, 0.0, 0.0, 14.8, 10.0, 43.4, 10.0), cairo_rel_curve_to(CairoContext, 28.6, 0.0, 43.4, -10.0, 43.4, -10.0), cairo_rel_line_to(CairoContext, 12.4, 10.7), cairo_rel_curve_to(CairoContext, 2.0, -23.1, 11.7, -40.4, 11.7, -55.6), cairo_curve_to(CairoContext, 357.6, 354.2, 350.3, 336.7, 338.6, 323.8), cairo_close_path(CairoContext), cairo_fill(CairoContext), % Left foot cairo_pattern_create_radial(265.8613, 433.5876, 0.0, 265.8613, 433.5876, 14.5474, PatternSt3), cairo_pattern_add_color_stop_rgb(PatternSt3, 0.0, 0.871, 0.875, 0.878), cairo_pattern_add_color_stop_rgb(PatternSt3, 0.1549, 0.855, 0.863, 0.867), cairo_pattern_add_color_stop_rgb(PatternSt3, 0.3132, 0.816, 0.824, 0.827), cairo_pattern_add_color_stop_rgb(PatternSt3, 0.473, 0.749, 0.757, 0.765), cairo_pattern_add_color_stop_rgb(PatternSt3, 0.6339, 0.659, 0.667, 0.675), cairo_pattern_add_color_stop_rgb(PatternSt3, 0.7956, 0.545, 0.553, 0.565), cairo_pattern_add_color_stop_rgb(PatternSt3, 0.956, 0.416, 0.420, 0.427), cairo_pattern_add_color_stop_rgb(PatternSt3, 1.0, 0.373, 0.376, 0.384), cairo_set_source(CairoContext, PatternSt3), cairo_move_to(CairoContext, 254.9, 445.7), cairo_rel_curve_to(CairoContext, 0.0, -6.5, 5.1, -11.7, 11.3, -11.7), cairo_rel_curve_to(CairoContext, 6.2, 0.0, 11.3, 5.2, 11.3, 11.7), cairo_rel_curve_to(CairoContext, 0.0, 0.1, 0.0, 0.2, 0.0, 0.4), cairo_rel_curve_to(CairoContext, 2.4, -2.8, 3.9, -6.4, 3.9, -10.3), cairo_rel_curve_to(CairoContext, 0.0, -8.6, -7.0, -15.6, -15.6, -15.6), cairo_rel_curve_to(CairoContext, -8.6, 0.0, -15.6, 7.0, -15.6, 15.6), cairo_rel_curve_to(CairoContext, 0.0, 4.4, 1.8, 8.4, 4.7, 11.2), cairo_curve_to(CairoContext, 255.0, 446.6, 254.9, 446.2, 254.9, 445.7), cairo_close_path(CairoContext), cairo_fill(CairoContext), % Right foot cairo_pattern_create_radial(313.2054, 433.5876, 0.0, 313.2054, 433.5876, 14.5472, PatternSt4), cairo_pattern_add_color_stop_rgb(PatternSt4, 0.0, 0.871, 0.875, 0.878), cairo_pattern_add_color_stop_rgb(PatternSt4, 0.1549, 0.855, 0.863, 0.867), cairo_pattern_add_color_stop_rgb(PatternSt4, 0.3132, 0.816, 0.824, 0.827), cairo_pattern_add_color_stop_rgb(PatternSt4, 0.473, 0.749, 0.757, 0.765), cairo_pattern_add_color_stop_rgb(PatternSt4, 0.6339, 0.659, 0.667, 0.675), cairo_pattern_add_color_stop_rgb(PatternSt4, 0.7956, 0.545, 0.553, 0.565), cairo_pattern_add_color_stop_rgb(PatternSt4, 0.956, 0.416, 0.420, 0.427), cairo_pattern_add_color_stop_rgb(PatternSt4, 1.0, 0.373, 0.376, 0.384), cairo_set_source(CairoContext, PatternSt4), cairo_move_to(CairoContext, 324.1, 445.7), cairo_rel_curve_to(CairoContext, 0.0, -6.5, -5.1, -11.7, -11.3, -11.7), cairo_rel_curve_to(CairoContext, -6.3, 0.0, -11.3, 5.2, -11.3, 11.7), cairo_rel_curve_to(CairoContext, 0.0, 0.1, 0.0, 0.2, 0.0, 0.4), cairo_rel_curve_to(CairoContext, -2.4, -2.8, -3.9, -6.4, -3.9, -10.3), cairo_rel_curve_to(CairoContext, 0.0, -8.6, 7.0, -15.6, 15.6, -15.6), cairo_rel_curve_to(CairoContext, 8.6, 0.0, 15.6, 7.0, 15.6, 15.6), cairo_rel_curve_to(CairoContext, 0.0, 4.4, -1.8, 8.4, -4.7, 11.2), cairo_curve_to(CairoContext, 324.1, 446.6, 324.1, 446.2, 324.1, 445.7), cairo_close_path(CairoContext), cairo_fill(CairoContext), % Feathers cairo_set_source_rgba(CairoContext, 0.0, 0.0, 0.0, 0.53), cairo_move_to(CairoContext, 238.3, 379.6), cairo_rel_curve_to(CairoContext, -0.9, 4.7, -6.8, 6.1, -6.8, 6.1), cairo_rel_curve_to(CairoContext, 0.0, 0.0, -4.9, -3.6, -4.0, -8.3), cairo_rel_curve_to(CairoContext, -1.2, 5.8, 3.1, 12.5, 3.1, 12.5), cairo_get_current_point(CairoContext, Xst5_1, Yst5_1), cairo_curve_to(CairoContext, Xst5_1, Yst5_1, 237.2, 385.5, 238.3, 379.6), cairo_close_path(CairoContext), cairo_fill(CairoContext), cairo_move_to(CairoContext, 250.0, 382.0), cairo_rel_curve_to(CairoContext, -0.9, 4.7, -6.8, 6.1, -6.8, 6.1), cairo_rel_curve_to(CairoContext, 0.0, 0.0, -4.9, -3.6, -3.9, -8.3), cairo_rel_curve_to(CairoContext, -1.2, 5.8, 3.1, 12.5, 3.1, 12.5), cairo_get_current_point(CairoContext, Xst5_2, Yst5_2), cairo_curve_to(CairoContext, Xst5_2, Yst5_2, 248.8, 387.8, 250.0, 382.0), cairo_close_path(CairoContext), cairo_fill(CairoContext), cairo_move_to(CairoContext, 241.7, 392.5), cairo_rel_curve_to(CairoContext, -0.9, 4.7, -6.8, 6.1, -6.8, 6.1), cairo_rel_curve_to(CairoContext, 0.0, 0.0, -4.9, -3.6, -4.0, -8.3), cairo_rel_curve_to(CairoContext, -1.2, 5.8, 3.1, 12.5, 3.1, 12.5), cairo_get_current_point(CairoContext, Xst5_3, Yst5_3), cairo_curve_to(CairoContext, Xst5_3, Yst5_3, 240.6, 398.4, 241.7, 392.5), cairo_close_path(CairoContext), cairo_fill(CairoContext), cairo_move_to(CairoContext, 253.4, 394.9), cairo_rel_curve_to(CairoContext, -0.9, 4.7, -6.8, 6.1, -6.8, 6.1), cairo_rel_curve_to(CairoContext, 0.0, 0.0, -4.9, -3.6, -4.0, -8.3), cairo_rel_curve_to(CairoContext, -1.2, 5.8, 3.1, 12.5, 3.1, 12.5), cairo_get_current_point(CairoContext, Xst5_4, Yst5_4), cairo_curve_to(CairoContext, Xst5_4, Yst5_4, 252.2, 400.7, 253.4, 394.9), cairo_close_path(CairoContext), cairo_fill(CairoContext), cairo_move_to(CairoContext, 245.2, 405.6), cairo_rel_curve_to(CairoContext, -0.9, 4.7, -6.8, 6.1, -6.8, 6.1), cairo_rel_curve_to(CairoContext, 0.0, 0.0, -4.9, -3.6, -3.9, -8.3), cairo_rel_curve_to(CairoContext, -1.2, 5.8, 3.1, 12.5, 3.1, 12.5), cairo_get_current_point(CairoContext, Xst5_5, Yst5_5), cairo_curve_to(CairoContext, Xst5_5, Yst5_5, 244.0, 411.4, 245.2, 405.6), cairo_close_path(CairoContext), cairo_fill(CairoContext), cairo_move_to(CairoContext, 261.5, 384.3), cairo_rel_curve_to(CairoContext, -0.9, 4.7, -6.8, 6.1, -6.8, 6.1), cairo_rel_curve_to(CairoContext, 0.0, 0.0, -4.9, -3.6, -3.9, -8.3), cairo_rel_curve_to(CairoContext, -1.2, 5.8, 3.1, 12.5, 3.1, 12.5), cairo_get_current_point(CairoContext, Xst5_6, Yst5_6), cairo_curve_to(CairoContext, Xst5_6, Yst5_6, 260.4, 390.1, 261.5, 384.3), cairo_close_path(CairoContext), cairo_fill(CairoContext), cairo_move_to(CairoContext, 341.8, 379.6), cairo_rel_curve_to(CairoContext, 0.9, 4.7, 6.8, 6.1, 6.8, 6.1), cairo_rel_curve_to(CairoContext, 0.0, 0.0, 4.9, -3.6, 4.0, -8.3), cairo_rel_curve_to(CairoContext, 1.2, 5.8, -3.1, 12.5, -3.1, 12.5), cairo_get_current_point(CairoContext, Xst5_7, Yst5_7), cairo_curve_to(CairoContext, Xst5_7, Yst5_7, 342.9, 385.5, 341.8, 379.6), cairo_close_path(CairoContext), cairo_fill(CairoContext), cairo_move_to(CairoContext, 330.2, 382.0), cairo_rel_curve_to(CairoContext, 0.9, 4.7, 6.8, 6.1, 6.8, 6.1), cairo_rel_curve_to(CairoContext, 0.0, 0.0, 4.9, -3.6, 3.9, -8.3), cairo_rel_curve_to(CairoContext, 1.2, 5.8, -3.1, 12.5, -3.1, 12.5), cairo_get_current_point(CairoContext, Xst5_8, Yst5_8), cairo_curve_to(CairoContext, Xst5_8, Yst5_8, 331.3, 387.8, 330.2, 382.0), cairo_close_path(CairoContext), cairo_fill(CairoContext), cairo_move_to(CairoContext, 338.4, 392.5), cairo_rel_curve_to(CairoContext, 0.9, 4.7, 6.8, 6.1, 6.8, 6.1), cairo_rel_curve_to(CairoContext, 0.0, 0.0, 4.9, -3.6, 4.0, -8.3), cairo_rel_curve_to(CairoContext, 1.2, 5.8, -3.1, 12.5, -3.1, 12.5), cairo_get_current_point(CairoContext, Xst5_9, Yst5_9), cairo_curve_to(CairoContext, Xst5_9, Yst5_9, 339.5, 398.4, 338.4, 392.5), cairo_close_path(CairoContext), cairo_fill(CairoContext), cairo_move_to(CairoContext, 326.8, 394.9), cairo_rel_curve_to(CairoContext, 0.9, 4.7, 6.8, 6.1, 6.8, 6.1), cairo_rel_curve_to(CairoContext, 0.0, 0.0, 4.9, -3.6, 3.9, -8.3), cairo_rel_curve_to(CairoContext, 1.2, 5.8, -3.1, 12.5, -3.1, 12.5), cairo_get_current_point(CairoContext, Xst5_10, Yst5_10), cairo_curve_to(CairoContext, Xst5_10, Yst5_10, 327.9, 400.7, 326.8, 394.9), cairo_close_path(CairoContext), cairo_fill(CairoContext), cairo_move_to(CairoContext, 334.9, 405.6), cairo_rel_curve_to(CairoContext, 0.9, 4.7, 6.8, 6.1, 6.8, 6.1), cairo_rel_curve_to(CairoContext, 0.0, 0.0, 4.9, -3.6, 3.9, -8.3), cairo_rel_curve_to(CairoContext, 1.2, 5.8, -3.1, 12.5, -3.1, 12.5), cairo_get_current_point(CairoContext, Xst5_11, Yst5_11), cairo_curve_to(CairoContext, Xst5_11, Yst5_11, 336.1, 411.4, 334.9, 405.6), cairo_close_path(CairoContext), cairo_fill(CairoContext), cairo_move_to(CairoContext, 318.6, 384.3), cairo_rel_curve_to(CairoContext, 0.9, 4.7, 6.8, 6.1, 6.8, 6.1), cairo_rel_curve_to(CairoContext, 0.0, 0.0, 4.9, -3.6, 3.9, -8.3), cairo_rel_curve_to(CairoContext, 1.2, 5.8, -3.1, 12.5, -3.1, 12.5), cairo_get_current_point(CairoContext, Xst5_12, Yst5_12), cairo_curve_to(CairoContext, Xst5_12, Yst5_12, 319.8, 390.1, 318.6, 384.3), cairo_close_path(CairoContext), cairo_fill(CairoContext), % Eyes cairo_set_source_rgba(CairoContext, 1.0, 1.0, 1.0, 1.0), cairo_arc(CairoContext, 259.2, 349.4, 26.7, 0.0, Angle360), cairo_fill(CairoContext), cairo_set_source_rgba(CairoContext, 0.745, 0.753, 0.761, 1.0), cairo_move_to(CairoContext, 277.8, 352.0), cairo_rel_curve_to(CairoContext, 0.0, 7.2, -5.8, 13.0, -13.0, 13.0), cairo_rel_curve_to(CairoContext, -7.2, 0.0, -13.0, -5.8, -13.0, -13.0), cairo_rel_curve_to(CairoContext, 0.0, -7.2, 5.8, -13.0, 13.0, -13.0), cairo_curve_to(CairoContext, 272.0, 339.0, 277.8, 344.8, 277.8, 352.0), cairo_close_path(CairoContext), cairo_fill(CairoContext), cairo_set_source_rgba(CairoContext, 0.0, 0.0, 0.0, 1.0), cairo_arc(CairoContext, 264.8, 352.0, 8.3, 0.0, Angle360), cairo_fill(CairoContext), cairo_set_source_rgba(CairoContext, 1.0, 1.0, 1.0, 1.0), cairo_arc(CairoContext, 261.1, 349.1, 2.5, 0.0, Angle360), cairo_fill(CairoContext), cairo_set_source_rgba(CairoContext, 1.0, 1.0, 1.0, 1.0), cairo_arc(CairoContext, 320.5, 349.4, 26.7, 0.0, Angle360), cairo_fill(CairoContext), cairo_set_source_rgba(CairoContext, 0.745, 0.753, 0.761, 1.0), cairo_move_to(CairoContext, 339.0, 352.0), cairo_rel_curve_to(CairoContext, 0.0, 7.2, -5.8, 13.0, -13.0, 13.0), cairo_rel_curve_to(CairoContext, -7.2, 0.0, -13.0, -5.8, -13.0, -13.0), cairo_rel_curve_to(CairoContext, 0.0, -7.2, 5.8, -13.0, 13.0, -13.0), cairo_curve_to(CairoContext, 333.2, 339.0, 339.0, 344.8, 339.0, 352.0), cairo_close_path(CairoContext), cairo_fill(CairoContext), cairo_set_source_rgba(CairoContext, 0.0, 0.0, 0.0, 1.0), cairo_arc(CairoContext, 326.0, 352.0, 8.3, 0.0, Angle360), cairo_fill(CairoContext), cairo_set_source_rgba(CairoContext, 1.0, 1.0, 1.0, 1.0), cairo_arc(CairoContext, 322.4, 349.1, 2.5, 0.0, Angle360), cairo_fill(CairoContext), % Nose cairo_pattern_create_radial(287.8515, 364.1945, 0.0, 287.8515, 364.1945, 18.7675, PatternSt8), cairo_pattern_add_color_stop_rgb(PatternSt8, 0.0, 0.871, 0.875, 0.878), cairo_pattern_add_color_stop_rgb(PatternSt8, 0.1549, 0.855, 0.863, 0.867), cairo_pattern_add_color_stop_rgb(PatternSt8, 0.3132, 0.816, 0.824, 0.827), cairo_pattern_add_color_stop_rgb(PatternSt8, 0.473, 0.749, 0.757, 0.765), cairo_pattern_add_color_stop_rgb(PatternSt8, 0.6339, 0.659, 0.667, 0.675), cairo_pattern_add_color_stop_rgb(PatternSt8, 0.7956, 0.545, 0.553, 0.565), cairo_pattern_add_color_stop_rgb(PatternSt8, 0.956, 0.416, 0.420, 0.427), cairo_pattern_add_color_stop_rgb(PatternSt8, 1.0, 0.373, 0.376, 0.384), cairo_set_source(CairoContext, PatternSt8), cairo_move_to(CairoContext, 289.8, 401.4), cairo_rel_curve_to(CairoContext, 0.0, -9.9, 15.1, -23.8, 15.1, -34.1), cairo_rel_curve_to(CairoContext, 0.0, -8.3, -6.8, -14.9, -15.1, -14.9), cairo_rel_curve_to(CairoContext, -8.3, 0.0, -15.1, 6.7, -15.1, 14.9), cairo_curve_to(CairoContext, 274.7, 377.6, 289.8, 391.5, 289.8, 401.4), cairo_close_path(CairoContext), cairo_fill(CairoContext). main :- gtk_window_new('GTK_WINDOW_TOPLEVEL', Window), gtk_window_set_title(Window, 'Owlie'), gtk_window_set_default_size(Window, 196, 196), gtk_drawing_area_new(DrawingArea), gtk_container_add(Window, DrawingArea), g_signal_connect(DrawingArea, 'draw', on_draw_event/4, {null}, _), g_signal_connect(Window, 'destroy', gtk_main_quit/0, {null}, _), gtk_widget_show_all(Window), gtk_main, halt. :- main.