GtkDrawingArea.def 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. DEFINITION MODULE FOR "C" GtkDrawingArea ;
  2. (*
  3. m2-GTK4 - GtkDrawingArea: a widget with a Cairo surface to draw on.
  4. Mapped onto <gtk/gtkdrawingarea.h>.
  5. Give it a draw function and, optionally, a fixed content size:
  6. PROCEDURE Draw (area: ADDRESS; cr: ADDRESS; w, h: INTEGER; data: ADDRESS);
  7. ...
  8. area := gtk_drawing_area_new();
  9. gtk_drawing_area_set_content_width(area, 200);
  10. gtk_drawing_area_set_content_height(area, 200);
  11. gtk_drawing_area_set_draw_func(area, ADR(Draw), NIL, NIL);
  12. The C draw callback has the shape
  13. void func(GtkDrawingArea *area, cairo_t *cr, int width, int height,
  14. gpointer user_data).
  15. *)
  16. FROM SYSTEM IMPORT ADDRESS;
  17. EXPORT UNQUALIFIED
  18. GtkDrawingArea,
  19. gtk_drawing_area_new,
  20. gtk_drawing_area_set_content_width,
  21. gtk_drawing_area_set_content_height,
  22. gtk_drawing_area_get_content_width,
  23. gtk_drawing_area_get_content_height,
  24. gtk_drawing_area_set_draw_func;
  25. TYPE
  26. GtkDrawingArea = ADDRESS;
  27. (* GtkWidget *gtk_drawing_area_new(void) *)
  28. PROCEDURE gtk_drawing_area_new () : GtkDrawingArea;
  29. (* void gtk_drawing_area_set_content_width(GtkDrawingArea *self, int width) *)
  30. PROCEDURE gtk_drawing_area_set_content_width (self: GtkDrawingArea; width: INTEGER);
  31. (* void gtk_drawing_area_set_content_height(GtkDrawingArea *self, int height) *)
  32. PROCEDURE gtk_drawing_area_set_content_height (self: GtkDrawingArea; height: INTEGER);
  33. (* int gtk_drawing_area_get_content_width(GtkDrawingArea *self) *)
  34. PROCEDURE gtk_drawing_area_get_content_width (self: GtkDrawingArea) : INTEGER;
  35. (* int gtk_drawing_area_get_content_height(GtkDrawingArea *self) *)
  36. PROCEDURE gtk_drawing_area_get_content_height (self: GtkDrawingArea) : INTEGER;
  37. (* void gtk_drawing_area_set_draw_func(GtkDrawingArea *self,
  38. GtkDrawingAreaDrawFunc draw_func,
  39. gpointer user_data,
  40. GDestroyNotify destroy) *)
  41. PROCEDURE gtk_drawing_area_set_draw_func (self: GtkDrawingArea;
  42. draw_func: ADDRESS;
  43. user_data: ADDRESS;
  44. destroy: ADDRESS);
  45. END GtkDrawingArea.