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;