I just want to draw a bunch of lines  - simple polygons, no filling...

On Mon, Oct 14, 2013 at 7:55 PM, Chris Vine <ch...@cvine.freeserve.co.uk> wrote:
> On Mon, 14 Oct 2013 19:34:53 +0200
> Satz Klauer <satzkla...@googlemail.com> wrote:
>
>> Hi,
>>
>> I try to print some vector data using GTK/Cairo. Unfortunately my
>> printer only produces empty pages, means there is no print operation,
>> the paper sheets are just moved.
>>
>> That's how I'm initialising everything:
>>
>> GtkPrintOperation *op;
>>
>> op = gtk_print_operation_new();
>> gtk_print_operation_set_allow_async(op,TRUE);
>> gtk_print_operation_set_n_pages(op, 1);
>> gtk_print_operation_set_unit (op,GTK_UNIT_POINTS);
>> g_signal_connect (op, "draw_page", G_CALLBACK(draw_page), NULL);
>> gtk_print_operation_run (op, GTK_PRINT_OPERATION_ACTION_PRINT,NULL,
>> NULL);
>>
>> The print-callback (which is called successfuly) looks like this:
>>
>> static void draw_page (GtkPrintOperation *operation,GtkPrintContext
>> *context,int page_nr)
>> {
>>    GtkPrintSettings *settings;
>>
>>    cairo_t *cr = gtk_print_context_get_cairo_context (context);
>>    settings = gtk_print_operation_get_print_settings (operation);
>>    cairo_set_source_rgb(dc,0,0,0);
>>    cairo_set_line_width(dc,m_data->config.m_linewidth);
>>
>>    cairo_move_to (cr,x0,y0);
>>    cairo_line_to (cr,x1,y1);
>>    cairo_line_to (cr,x2,y2);
>>    ...
>>    // some more lines...
>> }
>>
>> What could be missing here? Do I have to close/finish the drawing
>> operation somehow?
>
> That depends on what you are trying to draw.  I suspect you are looking
> for cairo_stroke(), but you could also consider cairo_fill(). Note also
> the *_preserve() variants.
>
> Chris
_______________________________________________
gtk-app-devel-list mailing list
gtk-app-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list

Reply via email to