The unified diff between revisions [ac36d2ca..] and [ee000e20..] is displayed below. It can also be downloaded as a raw diff.

#
#
# patch "src/cairo.adb"
#  from [8857b50b05b6aa7d43efc7014a20f81e710c40b9]
#    to [1e600d15e884650d5d271693762875246bce6f01]
#
============================================================
--- src/cairo.adb	8857b50b05b6aa7d43efc7014a20f81e710c40b9
+++ src/cairo.adb	1e600d15e884650d5d271693762875246bce6f01
@@ -26,6 +26,8 @@
 -- executable file  might be covered by the  GNU Public License.     --
 -----------------------------------------------------------------------

+pragma Ada_2005;
+
 package body Cairo is

    --------------
@@ -53,4 +55,39 @@ package body Cairo is
       end if;
    end Set_Dash;

+   --------------
+   -- Get_Dash --
+   --------------
+
+   procedure Get_Dash
+     (Cr     : Cairo_Context;
+      Dashes : out Dash_Array_Access;
+      Offset : out Gdouble)
+   is
+      procedure C_Get_Dash
+        (Cr     : Cairo_Context;
+         Dashes : System.Address;
+         Offset : access Gdouble);
+      pragma Import (C, C_Get_Dash, "cairo_get_dash");
+
+      Count : constant Integer := Integer (Get_Dash_Count (Cr));
+      G     : access Gdouble;
+   begin
+      if Count = 0 then
+         Offset := 0.0;
+         Dashes := null;
+         return;
+      end if;
+
+      Dashes := new Dash_Array (1 .. Count);
+
+      C_Get_Dash (Cr, Dashes (Dashes'First)'Address, G);
+
+      if G = null then
+         Offset := 0.0;
+      else
+         Offset := G.all;
+      end if;
+   end Get_Dash;
+
 end Cairo;