Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.postscript > #2647

Re: How can we evangelize PostScript?

Newsgroups comp.lang.postscript
Date 2016-06-12 01:38 -0700
References (1 earlier) <5b7781ce-c685-4a4b-bd22-4b78a0adccfe@googlegroups.com> <bf67649d-e33f-4b90-863d-e4f42e08be47@googlegroups.com> <522a0ac9-1197-4967-9185-320d6ffa2e7a@googlegroups.com> <slrnnlpqk2.2fk.peter@box8.pjb.com.au> <834e9c8f-0e48-4d15-8575-7e799bbd524f@googlegroups.com>
Message-ID <2dc2020b-9f1e-4d13-abe8-92f643aeb26e@googlegroups.com> (permalink)
Subject Re: How can we evangelize PostScript?
From luser- -droog <mijoryx@yahoo.com>

Show all headers | View raw


On Sunday, June 12, 2016 at 2:49:35 AM UTC-5, Lawrence D’Oliveiro wrote:
> On Sunday, June 12, 2016 at 4:52:19 PM UTC+12, Peter Billam wrote:
> > So, eg in Lua (my current favourite language :-)):

Since we're sharing. Here's my C+Cairo+Xcb Hello World. 
A little more long-winded in C.

http://codegolf.stackexchange.com/a/20475/2381

//xcr.c
//cc -o xcr $(pkg-config --cflags --libs cairo xcb xcb-icccm) xcr.c -lcairo -lxcb -lxcb-icccm
#include <stdlib.h>
#include <string.h>
#include <cairo.h>
#include <cairo-xcb.h>
#include <xcb/xcb.h>
#include <xcb/xcb_image.h>
#include <xcb/xcb_aux.h>
#include <xcb/xcb_icccm.h>

int main (int argc, char *argv[])
{
    int width = 300, height = 400;
    int scrno;
    xcb_screen_t *scr;
    xcb_connection_t *connection;
    xcb_screen_iterator_t iter;
    xcb_drawable_t win;
    unsigned int white;
    xcb_visualtype_t *visual_type;
    xcb_depth_iterator_t depth_iter;

    connection = xcb_connect(NULL,&scrno);
    iter = xcb_setup_roots_iterator(xcb_get_setup(connection));
    for (; iter.rem; --scrno, xcb_screen_next(&iter))
        if (scrno == 0)
        {
            scr = iter.data;
            break;
        }
    win = xcb_generate_id(connection);
    white = scr->white_pixel;
    xcb_create_window(connection, XCB_COPY_FROM_PARENT,
            win, scr->root,
            0, 0,
            width, height,
            5,
            XCB_WINDOW_CLASS_INPUT_OUTPUT,
            scr->root_visual,
            XCB_CW_BACK_PIXEL,
            &white);
    xcb_icccm_set_wm_name(connection, win, XCB_ATOM_STRING, 8, strlen("xcr"), "xcr");
    xcb_map_window(connection, win);
    xcb_flush(connection);

    depth_iter = xcb_screen_allowed_depths_iterator(scr);
    for (; depth_iter.rem; xcb_depth_next(&depth_iter)) {
        xcb_visualtype_iterator_t visual_iter;

        visual_iter = xcb_depth_visuals_iterator(depth_iter.data);
        for (; visual_iter.rem; xcb_visualtype_next(&visual_iter)) {
            if (scr->root_visual == visual_iter.data->visual_id) {
                visual_type = visual_iter.data;
                goto visual_found;
            }
        }
    }
visual_found: ;

    {
        cairo_surface_t *surface =
            cairo_xcb_surface_create (connection, win, visual_type, width, height);
        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_surface_flush(surface);
        xcb_flush(connection);

        sleep(100);

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

    xcb_disconnect(connection);
    return 0;
}

Back to comp.lang.postscript | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

How can we evangelize PostScript? luser- -droog <mijoryx@yahoo.com> - 2015-02-11 22:04 -0800
  Re: How can we evangelize PostScript? tlvp <mPiOsUcB.EtLlLvEp@att.net> - 2015-02-12 03:09 -0500
    Re: How can we evangelize PostScript? zupftom@googlemail.com - 2015-02-26 03:58 -0800
      Re: How can we evangelize PostScript? jdaw1 <jdawiseman@gmail.com> - 2015-02-26 14:43 -0800
        Re: How can we evangelize PostScript? Lawrence D’Oliveiro <lawrencedo99@gmail.com> - 2016-06-01 16:43 -0700
  Re: How can we evangelize PostScript? jdaw1 <jdawiseman@gmail.com> - 2015-02-12 01:36 -0800
  Re: How can we evangelize PostScript? James <jjpuzzles@wowway.com> - 2015-02-12 04:29 -0800
  Re: How can we evangelize PostScript? Bogus@Embarq.com (Steve) - 2015-02-12 13:50 +0000
  Re: How can we evangelize PostScript? Mark Carroll <mtbc@bcs.org> - 2015-02-15 15:27 +0000
    Re: How can we evangelize PostScript? tlvp <mPiOsUcB.EtLlLvEp@att.net> - 2015-02-15 19:20 -0500
    Re: How can we evangelize PostScript? jdaw1 <jdawiseman@gmail.com> - 2015-02-16 01:54 -0800
    Re: How can we evangelize PostScript? luser droog <luser.droog@gmail.com> - 2016-07-17 08:31 -0700
  Re: How can we evangelize PostScript? luser- -droog <mijoryx@yahoo.com> - 2015-02-28 00:52 -0800
  Re: How can we evangelize PostScript? Lawrence D’Oliveiro <lawrencedo99@gmail.com> - 2016-06-01 17:02 -0700
    Re: How can we evangelize PostScript? luser- -droog <mijoryx@yahoo.com> - 2016-06-09 22:59 -0700
      Re: How can we evangelize PostScript? Lawrence D’Oliveiro <lawrencedo99@gmail.com> - 2016-06-09 23:38 -0700
        Re: How can we evangelize PostScript? Peter Billam <peter@www.pjb.com.au> - 2016-06-12 04:52 +0000
          Re: How can we evangelize PostScript? Lawrence D’Oliveiro <lawrencedo99@gmail.com> - 2016-06-12 00:49 -0700
            Re: How can we evangelize PostScript? luser- -droog <mijoryx@yahoo.com> - 2016-06-12 01:38 -0700
              Re: How can we evangelize PostScript? Lawrence D’Oliveiro <lawrencedo99@gmail.com> - 2016-06-12 02:31 -0700
        Re: How can we evangelize PostScript? luser droog <luser.droog@gmail.com> - 2016-11-02 08:22 -0700
          Re: How can we evangelize PostScript? Lawrence D’Oliveiro <lawrencedo99@gmail.com> - 2016-11-05 18:21 -0700
            Re: How can we evangelize PostScript? luser droog <luser.droog@gmail.com> - 2016-11-09 18:34 -0800
  Re: How can we evangelize PostScript? Alan <alan.isaac@gmail.com> - 2016-07-10 15:48 -0700

csiph-web