diff options
Diffstat (limited to 'body/fltk-devices-surface-paged.adb')
-rw-r--r-- | body/fltk-devices-surface-paged.adb | 25 |
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; |