aboutsummaryrefslogtreecommitdiff
path: root/body/fltk-devices-surface-paged.adb
diff options
context:
space:
mode:
Diffstat (limited to 'body/fltk-devices-surface-paged.adb')
-rw-r--r--body/fltk-devices-surface-paged.adb25
1 files changed, 22 insertions, 3 deletions
diff --git a/body/fltk-devices-surface-paged.adb b/body/fltk-devices-surface-paged.adb
index 829974a..fbc8dc6 100644
--- a/body/fltk-devices-surface-paged.adb
+++ b/body/fltk-devices-surface-paged.adb
@@ -7,7 +7,6 @@
with
Ada.Assertions,
- Ada.Strings.Unbounded,
Interfaces.C.Strings;
use type
@@ -54,6 +53,8 @@ package body FLTK.Devices.Surface.Paged is
-- Functions From C --
------------------------
+ -- Static Attributes --
+
procedure fl_paged_device_get_page_format
(Index : in Interfaces.C.int;
Name : out Interfaces.C.Strings.chars_ptr;
@@ -65,6 +66,8 @@ package body FLTK.Devices.Surface.Paged is
+ -- Allocation --
+
function new_fl_paged_device
return Storage.Integer_Address;
pragma Import (C, new_fl_paged_device, "new_fl_paged_device");
@@ -78,6 +81,8 @@ package body FLTK.Devices.Surface.Paged is
+ -- Job Control --
+
function fl_paged_device_start_job
(D : in Storage.Integer_Address;
C : in Interfaces.C.int)
@@ -113,6 +118,8 @@ package body FLTK.Devices.Surface.Paged is
+ -- Spacing and Orientation --
+
procedure fl_paged_device_margins
(D : in Storage.Integer_Address;
L, T, R, B : out Interfaces.C.int);
@@ -164,6 +171,8 @@ package body FLTK.Devices.Surface.Paged is
+ -- Printing --
+
procedure fl_paged_device_print_widget
(D, I : in Storage.Integer_Address;
DX, DY : in Interfaces.C.int);
@@ -211,7 +220,7 @@ package body FLTK.Devices.Surface.Paged is
return Media;
end if;
exception
- when Chk.Assertion_Error => raise Internal_FLTK_Error;
+ when Chk.Assertion_Error => raise Constraint_Error;
end To_Page_Format;
@@ -243,7 +252,7 @@ package body FLTK.Devices.Surface.Paged is
return Orientation;
end if;
exception
- when Chk.Assertion_Error => raise Internal_FLTK_Error;
+ when Chk.Assertion_Error => raise Constraint_Error;
end To_Page_Layout;
@@ -267,6 +276,10 @@ package body FLTK.Devices.Surface.Paged is
Data (Index).My_Height := Natural (C_Height);
end loop;
end return;
+ exception
+ when Constraint_Error => raise Internal_FLTK_Error with
+ "Fl_Paged_Device::NO_PAGE_FORMATS has inconsistent value of " &
+ Interfaces.C.int'Image (fl_no_page_formats);
end Get_Page_Formats;
@@ -343,6 +356,8 @@ package body FLTK.Devices.Surface.Paged is
-- API Subprograms --
-----------------------
+ -- Job Control --
+
procedure Start_Job
(This : in out Paged_Device;
Count : in Natural := 0) is
@@ -398,6 +413,8 @@ package body FLTK.Devices.Surface.Paged is
+ -- Spacing and Orientation --
+
procedure Get_Margins
(This : in Paged_Device;
Left, Top, Right, Bottom : out Integer) is
@@ -489,6 +506,8 @@ package body FLTK.Devices.Surface.Paged is
+ -- Printing --
+
procedure Print_Widget
(This : in out Paged_Device;
Item : in FLTK.Widgets.Widget'Class;