c++ - Unable to paint on Gtk drawing_area with Cairo -


I try to color a point at drawing_area on Gtk I'm Cairo . I have two functions, the do_drawing function, to draw a point on draw to paint the background, and the other one do_drawpoint .

  Zero Painting: do_drawing (cairo_t * cr) {cairo_set_source_rgb (cr, 1, 1, 1); Cairo_paint (cr); } Zero Painting: do_pointDraw (CARO_T * CR) {CARO_USSET_SASS_RGB (CR, 0, 0, 0); Cairo_Arch (CR, 150, 150, 10, 0, 2 * MOPI); Cairo_fill (cr); }  

Now whenever the user clicks on drawing_area , then the dropout function is called.

  zero drawing arrow :: dropout () {g_signal_connect (area, "button-press-event", gcalblack (clicked), tap); Std :: Court & lt; & Lt; "Drawpoint" & lt; & Lt; Std :: endl; } Gboolean clicked (GtkWidget * widget, GdkEventButton * event, cairo_t * cr, gpointer user_data) {if (event-> button == 1) {x = event-> X; Y = event- & gt; Y; } Std :: cout & lt; & Lt; X & lt; & Lt; "And" & lt; & Lt; Y & lt; & Lt; Std :: endl; Ptr- & gt; Do_pointDraw (CR); Gtk_widget_queue_draw (widget); } Return TRUE; }  

but after printing values ​​of x and y , the program ends with a split error.

Program received signal SIGSEGV, segmentation fault 0x00007ffff74ac3ae cairo_set_source_rgb ()

What could be the reason for this? Am I moving forward in the right way?

The code is difficult to read (with broken indentation and only snippets provided), but some things Keep in mind:

  • button-press event handler signature is incorrect. Caro's reference is not there.
  • Drawing only should be the signal handler of Draw GtkDrawingArea. The idea of ​​drawing on the button press is that Caro does not work: User interaction should change the status of your app, draw-handler should be attracted based on current app position.
  • button-press-event handler is connected to dropout () . It looks very wrong.

I recommend that you try to read and start it with a simple example, and after that, start adding complex things to work on.


Comments

Popular posts from this blog

Member with no value in F# -

java - Joda Time Interval Not returning what I expect -

c# - Showing a SelectedItem's Property -